Discover/NTS API
live

NTS APInts.live

Search NTS Radio episodes, retrieve channel broadcast schedules, and fetch full episode details with ordered tracklists via a clean JSON API.

Endpoint health
verified 1h ago
search_episodes
get_schedule
get_episode
3/3 passing latest checkself-healing
Endpoints
3
Updated
2h ago

What is the NTS API?

The NTS Radio API exposes 3 endpoints covering episode search, channel schedules, and full episode details — including ordered tracklists with per-track artist, title, offset, and duration fields. Use search_episodes to query the archive by title, genre, description, or artist name, get_schedule to pull broadcast listings for a given channel across a configurable date window, and get_episode to retrieve a complete tracklist and metadata for any specific broadcast.

Try it
Maximum number of results to return per request (max 36).
Search query matching episode titles, show names, descriptions, genres, and artists.
Number of results to skip for pagination.
api.parse.bot/scraper/1a0941ac-9eba-4a19-8541-1d75c14be09d/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/1a0941ac-9eba-4a19-8541-1d75c14be09d/search_episodes?limit=5&query=ambient&offset=0' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace nts-live-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: NTS Radio SDK — search episodes, browse schedules, get tracklists."""
from parse_apis.nts_live_api import NTS, Channel, EpisodeNotFound

nts = NTS()

# Search the archive for ambient episodes
for hit in nts.episodes.search(query="ambient", limit=3):
    print(hit.title, hit.local_date, hit.genres)

# Get the schedule for channel 1
for day in nts.schedule(channel=Channel.CHANNEL_1).get(past_days=1, limit=5):
    print(day.date, day.day_of_week, len(day.broadcasts), "broadcasts")

# Drill into a specific episode for full detail + tracklist
try:
    episode = nts.episodes.get(show_alias="macca", episode_alias="macca-11th-july-2026")
    print(episode.show_name, episode.broadcast, episode.location)
    for track in episode.tracklist[:3]:
        print(f"  {track.artist} - {track.title}")
except EpisodeNotFound as exc:
    print(f"Episode not found: {exc.show_alias}/{exc.episode_alias}")

print("exercised: episodes.search / schedule.get / episodes.get / tracklist access")
All endpoints · 3 totalmissing one? ·

Full-text search across NTS Radio shows and episodes. Results include episodes and shows matching the query by title, description, genre, or artist. Each item carries its article_type (episode or show), path for drill-down, genres, and broadcast date.

Input
ParamTypeDescription
limitintegerMaximum number of results to return per request (max 36).
queryrequiredstringSearch query matching episode titles, show names, descriptions, genres, and artists.
offsetintegerNumber of results to skip for pagination.
Response
{
  "type": "object",
  "fields": {
    "limit": "integer",
    "total": "integer",
    "offset": "integer",
    "results": "array of search result objects with article_type, title, path, description, local_date, location, genres, moods, image"
  },
  "sample": {
    "data": {
      "limit": 5,
      "total": 5913,
      "offset": 0,
      "results": [
        {
          "path": "/shows/claire-milbrath/episodes/claire-milbrath-3rd-june-2026",
          "image": "https://media.ntslive.co.uk/resize/800x800/...jpeg",
          "moods": [
            "The Healing Place"
          ],
          "title": "Claire Milbrath - Ambient Mix",
          "genres": [
            "Ambient"
          ],
          "location": "",
          "local_date": "03 Jun 2026",
          "description": "Visual artist and founder...",
          "article_type": "episode"
        }
      ]
    },
    "status": "success"
  }
}

About the NTS API

Search the Archive

The search_episodes endpoint accepts a free-text query and returns up to 36 results per request, paginated via limit and offset. Each result includes article_type (episode or show), title, path, description, local_date, location, genres, and moods. The path field is the key to drill down further — the show and episode slugs embedded in it feed directly into get_episode.

Channel Schedules

get_schedule returns a day-by-day broadcast listing for a specified NTS channel. The past_days parameter controls how far back the window reaches, so passing 1 gives yesterday and today. Each day object contains a date, day_of_week, and an ordered broadcasts array with titles, start and end times, and paths you can resolve to full episode records.

Episode Detail and Tracklists

get_episode takes a show_alias and episode_alias — both extractable from the path fields returned by the other two endpoints — and returns the full episode record. This includes show_name, ISO 8601 broadcast timestamp, location, genres, moods, description, replay_url, and a tracklist array. Each tracklist entry carries artist, title, offset (seconds from broadcast start), and duration (seconds), making it possible to reconstruct a time-stamped playlist for any archived episode.

Reliability & maintenanceVerified

The NTS API is a managed, monitored endpoint for nts.live — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when nts.live changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official nts.live API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
1h ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a searchable NTS archive browser filtered by genre or artist name using search_episodes.
  • Display a live or recent broadcast schedule for NTS 1 or NTS 2 with get_schedule.
  • Extract ordered tracklists from NTS episodes to populate a music discovery or logging tool.
  • Cross-reference NTS tracklist data (artist, title) against a music database to surface play counts.
  • Monitor which locations NTS broadcasts originate from by aggregating the location field across episodes.
  • Build a mood- or genre-based episode recommendation feed using moods and genres from search results.
  • Archive timestamped playlists for specific NTS shows by combining offset and broadcast fields from get_episode.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does NTS Radio have an official public developer API?+
NTS does not publish a documented public developer API for their archive, schedule, or tracklist data.
What does the tracklist in `get_episode` actually contain?+
Each entry in the tracklist array includes artist, title, offset (seconds from the start of the broadcast), and duration (seconds). The list is ordered, so you can reconstruct the full time-stamped sequence of tracks played during a given episode.
How do I get the `show_alias` and `episode_alias` needed by `get_episode`?+
Both slugs are embedded in the path field returned by search_episodes and get_schedule. For example, a path like /shows/macca/episodes/macca-11th-july-2026 yields show_alias: macca and episode_alias: macca-11th-july-2026.
Does the API expose NTS Infinite or guest mix content separately from regular episodes?+
The API does not currently distinguish between NTS Infinite streams, guest mixes, and standard broadcast episodes as separate content types — all appear under the same article_type classification. The API covers episode search, schedule listings, and tracklist retrieval. You can fork it on Parse and revise it to add an endpoint that filters or categorises content by format.
Is pagination supported for episode search results?+
Yes. search_episodes accepts limit (max 36) and offset parameters. The response also returns total so you can calculate how many pages exist for a given query and iterate through the full result set.
Page content last updated . Spec covers 3 endpoints from nts.live.
Related APIs in MusicSee all →
thetvdb.com API
Search and discover TV shows from TheTVDB's database, view trending series, and access detailed episode information. Browse complete show listings or find specific titles to retrieve comprehensive data about seasons, episodes, and air dates.
1001tracklists.com API
Access complete DJ set tracklists, chart rankings, and event metadata from 1001tracklists.com. Retrieve individual track details — including artist, title, remix information, record labels, and linked streaming URLs — for any tracklist page, and browse the latest sets or currently charting tracks across weekly, trending, and most-heard categories.
shotgun.live API
Access data from shotgun.live.
latent.space API
Access Latent Space podcast episodes, newsletters, and full transcripts through search and browsing capabilities. Get detailed information about posts, including transcripts and homepage content, to stay updated on the latest discussions and insights.
radioparadise.com API
Access live and historical music data from Radio Paradise, including current song information, channel details, playlists, and stream links. Search music tracks, browse channel listings, read song comments, and discover what's playing in real-time across all Radio Paradise stations.
zdf.de API
Search and browse German TV content, live streams, and episode details from ZDF Mediathek, or discover what's currently airing and trending on their homepage. Explore shows by category, find specific programs by name, and check the full TV schedule all in one place.
twitch.tv API
Search for Twitch streamers and channels, view their profiles and streaming details, and discover live streams organized by category. Find the content and creators you want to watch all in one place.
musicbrainz.org API
Search MusicBrainz for artists and recordings, then fetch detailed metadata for artists, recordings, releases, and release groups, including credits, tags/genres, and track listings.