Table of Contents

FIP Radio

Meilleure radio du monde.

API

Endpoint

URL non encodée pour FIP Groove : https://www.fip.fr/latest/api/graphql?operationName=Now&variables={"bannerPreset":"600x600-noTransform","stationId":66,"previousTrackLimit":3}&extensions={"persistedQuery":{"version":1,"sha256Hash":"8a931c7d177ff69709a79f4c213bd2403f0c11836c560bc22da55628d8100df8"}}

variables

{
  "bannerPreset": "600x600-noTransform",
  "stationId": 69,
  "previousTrackLimit": 3
}

extensions

{
  "persistedQuery": {
    "version": 1,
    "sha256Hash": "8a931c7d177ff69709a79f4c213bd2403f0c11836c560bc22da55628d8100df8"
  }
}

stationId

Radio stationId
FIP 7
FIP tout nouveau, tout FIP 70
FIP autour du reggae 71
FIP autour de l'électro 74
FIP autour du rock 70
FIP autour du jazz 65
FIP autour du groove 66
FIP autour du monde 69

(d'autres URL sur adblockradio/webradio-metadata)

Requête

curl "https://www.fip.fr/latest/api/graphql?operationName=Now&variables=%7B%22bannerPreset%22%3A%22600x600-noTransform%22%2C%22stationId%22%3A66%2C%22previousTrackLimit%22%3A3%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%228a931c7d177ff69709a79f4c213bd2403f0c11836c560bc22da55628d8100df8%22%7D%7D" | jq .

Reply

{
  "data": {
    "now": {
      "__typename": "Now",
      "playing_item": {
        "__typename": "TimelineItem",
        "title": "Tom Tyler",
        "subtitle": "Swing children",
        "cover": "https://cdn.radiofrance.fr/s3/cruiser-production/2019/11/2523200c-f27b-4128-bbef-07dc3b64c105/400x400_rf_omm_0001585910_dnc.0072443770.jpg",
        "start_time": 1581177429,
        "end_time": 1581177772
      },
      "program": null,
      "song": {
        "__typename": "SongOnAir",
        "cover": "https://cdn.radiofrance.fr/s3/cruiser-production/2019/11/2523200c-f27b-4128-bbef-07dc3b64c105/400x400_rf_omm_0001585910_dnc.0072443770.jpg",
        "title": "Swing children",
        "interpreters": [
          "Tom Tyler"
        ],
        "musical_kind": "Musique électronique ",
        "label": "DC RECORDINGS",
        "album": "Fusions and illusions (EP)",
        "external_links": {
          "youtube": {
            "id": "jGLdW5p5JCQ",
            "link": "https://www.youtube.com/watch?v=jGLdW5p5JCQ",
            "image": "https://i.ytimg.com/vi/jGLdW5p5JCQ/hqdefault.jpg",
            "__typename": "ExternalLink"
          },
          "deezer": {
            "id": "3081071",
            "link": "https://www.deezer.com/track/3081071",
            "image": "https://e-cdns-images.dzcdn.net/images/cover/e0dd38c3a1a60d97e5f890e3a7b53b7c/1000x1000-000000-80-0-0.jpg",
            "__typename": "ExternalLink"
          },
          "itunes": {
            "id": "253330342",
            "link": "https://music.apple.com/fr/album/swing-children/253330339?i=253330342&uo=4",
            "image": "https://is4-ssl.mzstatic.com/image/thumb/Music/v4/26/e2/e5/26e2e579-965b-834d-7fb9-f10e9738b244/source/100x100bb.jpg",
            "__typename": "ExternalLink"
          },
          "spotify": {
            "id": "61XakPvq2yQJjMt41qEUb3",
            "link": "https://open.spotify.com/track/61XakPvq2yQJjMt41qEUb3",
            "image": "https://i.scdn.co/image/ab67616d0000b2736fe4000b68c05d54c385aa91",
            "__typename": "ExternalLink"
          },
          "__typename": "ExternalLinks"
        }
      },
      "server_time": 1581177609,
      "next_refresh": 1581177773,
      "mode": "song"
    },
    "previousTracks": {
      "__typename": "HistoryCursor",
      "edges": [
        {
          "__typename": "TimeLineItemEdge",
          "node": {
            "__typename": "TimelineItem",
            "title": "Oxmo Puccino",
            "subtitle": "Oui je",
            "start_time": 1581177260,
            "cover": "https://cdn.radiofrance.fr/s3/cruiser-production/2019/11/cddec930-03ec-46ab-a706-1a99f90459d4/400x400_rf_omm_0001456862_dnc.0065086855.jpg"
          }
        },
        {
          "__typename": "TimeLineItemEdge",
          "node": {
            "__typename": "TimelineItem",
            "title": "Abstract Orchestra",
            "subtitle": "Official / Fall in love",
            "start_time": 1581177053,
            "cover": "https://cdn.radiofrance.fr/s3/cruiser-production/2019/11/c0466beb-0826-4198-85cb-febe2513de2e/400x400_rf_omm_0001588719_dnc.0072612810.jpg"
          }
        },
        {
          "__typename": "TimeLineItemEdge",
          "node": {
            "__typename": "TimelineItem",
            "title": "Cher",
            "subtitle": "I walked on guilded splinters",
            "start_time": 1581176908,
            "cover": "https://cdn.radiofrance.fr/s3/cruiser-production/2019/12/1fdcf809-275d-4b4b-b095-c5c20742485b/400x400_rf_omm_0001454096_dnc.0064957454.jpg"
          }
        }
      ]
    },
    "nextTracks": [
      {
        "__typename": "TimelineItem",
        "title": "Curtis Harding",
        "subtitle": "Wednesday morning atonement",
        "start_time": 1581177808,
        "cover": "https://cdn.radiofrance.fr/s3/cruiser-production/2019/11/e1bf1eb4-e219-4cb8-9118-73f484c42aa9/400x400_rf_omm_0001572660_dnc.0071608565.jpg"
      }
    ]
  }
}

youtube-dl

curl --silent $url |  jq ' .data.now.song.external_links.youtube.link '
"https://www.youtube.com/watch?v=vtP3bj1UxEY"

Check me

Et d'autres trucs sur Github.

Voir aussi

Radio Nova

$ curl --silent http://www.nova.fr/radio/19577/player |  jq .
{
  "radio": {
    "name": "Radio Nova",
    "is_on_air_activated": "1",
    "high_def_stream_url": "http://novazz.ice.infomaniak.ch/novazz-128.mp3",
    "low_def_stream_url": "http://radionova.ice.infomaniak.ch/radionova-low.mp3",
    "thumbnail": "/sites/default/files/styles/thumb_player/public/2017-06/Grand_Mix_460x460.jpg?itok=tvTxS6DJ",
    "image": "/sites/default/files/2017-06/Grand_Mix_460x460.jpg",
    "background_image": "/sites/default/files/2017-06/Grand_Mix_825x660.jpg"
  },
  "currentShow": {
    "title": "Le Grand Mix Samedi",
    "start_time": "14:00",
    "end_time": "18:30",
    "main_podcast": {
      "id": "49146",
      "spotify_url": null,
      "deezer_url": "https://www.deezer.com/show/523152",
      "itunes_url": "https://podcasts.apple.com/us/podcast/id1480233172",
      "feedburner_url": "https://feeds.feedburner.com/NovaLaSource"
    }
  },
  "currentTrack": {
    "id": "22367",
    "title": "CRUSH",
    "artist": "DUCKWRTH",
    "image": "/sites/default/files/CQCT/2020-01/duckwrth-crush-22367.jpeg",
    "thumbnail": "/sites/default/files/CQCT/2020-01/duckwrth-crush-22367-thumbnail-22367.jpeg",
    "diffusion_date": "2020-02-08 17:16:05",
    "duration": "02:13",
    "spotify_url": "https://open.spotify.com/track/3aUviSdBVbsdmH406j5GZC",
    "deezer_url": "https://www.deezer.com/track/739443542",
    "itunes_url": "https://itunes.apple.com/WebObjects/MZStore.woa/wa/search?term=DUCKWRTH+CRUSH&media=music&entity=song&at=10ltae&ct=cetaitkoicetitre"
  }
}