TVMaze Scraper — TV Shows, Episodes, Cast & Schedule API avatar

TVMaze Scraper — TV Shows, Episodes, Cast & Schedule API

Pricing

from $3.50 / 1,000 results

Go to Apify Store
TVMaze Scraper — TV Shows, Episodes, Cast & Schedule API

TVMaze Scraper — TV Shows, Episodes, Cast & Schedule API

TV show data API powered by the open TVMaze REST API — no key, no browser. Search shows, pull show details, ratings, full episode lists, cast & characters, people and a country's daily TV air schedule. Export TV datasets to JSON, CSV or Excel for analytics, ML and recommendations.

Pricing

from $3.50 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

8 days ago

Last modified

Share

TVMaze Scraper — TV Show, Episode, Cast & Schedule Data API (No API Key)

Apify Actor No API key Pay per result TV & Media Export


A TVMaze scraper and structured TV show data API in a single Apify Actor. Search TV shows, pull full show details and ratings, complete episode lists, cast and characters, people, and a whole country's daily TV air schedule — powered directly by the free, open TVMaze REST API. Get name, genres[], network, premiered, rating, imdbId, season/number, airdate and more as clean, flat JSON. No API key, no login, no OAuth, no headless browser — just fast HTTP. Seven modes share one input form, and every result is tagged with _mode so you can mix modes in one dataset and filter later.

🏆 Why this TVMaze scraper?

7 modes · 40+ fields across shows, episodes, cast, schedule & people · thousands of records per run · direct calls to the open TVMaze REST API (no browser) · export to JSON / CSV / Excel. The convenient TV database API alternative for analytics, ML, recommendations and EPG apps.

✨ What this Actor does / Key features

  • 📺 Full catalogue crawlshowIndex mode paginates the entire TVMaze catalogue at 250 shows per page, the fastest way to build a complete TV shows dataset.
  • 🔎 Free-text search — find shows or people by name with searchShows and people.
  • 🧾 Rich show detailsname, type, language, genres[], status, premiered/ended, runtime, network, officialSite, imdbId, image and an HTML-stripped summary; optionally embed the cast.
  • 🎬 Complete episode lists — every episode of a series with season, number, airdate, runtime, per-episode rating and summary.
  • 🎭 Cast & characters — each cast member mapped to the characterName they play, with self/voice flags and photos.
  • 🗓️ Daily TV schedule — a full day of airings for any country (100+ across the US), each joined to its show's network, genres and rating.
  • 👤 People lookupsname, country, birthday, deathday, gender and photo, by search or by ID.
  • Ratings everywhere — the TVMaze rating average on every show and episode row.
  • 🔗 Cross-reference IDs — every show row carries imdbId (and TheTVDB) so you can join TVMaze data to IMDb/TheTVDB datasets.
  • 🏷️ Universal tagging — clean url back to TVMaze plus _mode and scrapedAt (ISO 8601) on every item; six pre-built dataset views slice the data with zero post-processing.

🚀 Quick start (3 steps)

  1. Configure — pick a Mode and fill only the fields that mode needs (e.g. mode: showIndex needs nothing else; mode: episodes needs a showId).
  2. Run — click Start. The Actor calls the TVMaze REST API, flattens the response and streams rows into your dataset.
  3. Get your data — open the Output tab, switch between the Overview / Shows / Episodes / Cast / Schedule / People views, and export to JSON, CSV, Excel, HTML, RSS or JSON Lines — or pull it via the Apify API.

📥 Input

Pick a Mode, then set the fields that mode uses. The input form shows which fields apply to each mode.

Example — crawl the catalogue for a big TV shows dataset

{
"mode": "showIndex",
"startPage": 0,
"maxResults": 500
}

Example — every episode of a long-running series

{
"mode": "episodes",
"showId": "83",
"maxResults": 2000
}

Example — today's US TV schedule (EPG / what's-on)

{
"mode": "schedule",
"country": "US",
"date": "2026-07-06"
}
FieldTypeDescription
modestringWhich TVMaze endpoint to run: showIndex, searchShows, showDetails, episodes, cast, schedule or people. Required. Default showIndex.
querystringFree-text term for searchShows (a show name) or people (a person name).
showIdstringNumeric TVMaze show ID, e.g. 169 (Breaking Bad) or 83 (The Simpsons). Used by showDetails, episodes, cast.
showIdsarrayBatch of TVMaze show IDs (integers) for showDetails.
embedCastbooleanWhen true, showDetails also attaches a compact cast[] list (actor + character) to each show. Default false.
personIdstringNumeric TVMaze person ID, e.g. 1. Used by people.
personIdsarrayBatch of TVMaze person IDs for people lookups.
countrystringISO 3166-1 alpha-2 country code for schedule (e.g. US, GB, DE, TR). Default US.
datestringDay for schedule, format YYYY-MM-DD. Empty = today.
startPageinteger0-based page to start showIndex pagination from (250 shows/page). Default 0.
maxResultsintegerUpper bound on rows. Drives pagination for showIndex; caps the list for other modes. Default 250.

Tip — finding IDs: a show ID is the integer in a TVMaze show URL (tvmaze.com/shows/169/...169); a person ID is the integer in a person URL (tvmaze.com/people/1/...1). Use searchShows or people search first to discover IDs, then feed them into showDetails, episodes, cast or people.

📤 Output

Results stream to the default dataset, flattened per mode, with 40+ fields across the modes and every item tagged with _mode. Here is a trimmed sample show record:

{
"_mode": "showDetails",
"id": 169,
"name": "Breaking Bad",
"type": "Scripted",
"language": "English",
"genres": ["Drama", "Crime", "Thriller"],
"status": "Ended",
"premiered": "2008-01-20",
"ended": "2013-09-29",
"runtime": 60,
"rating": 9.2,
"network": "AMC",
"officialSite": "http://www.amc.com/shows/breaking-bad",
"imdbId": "tt0903747",
"image": "https://static.tvmaze.com/uploads/images/original_untouched/0/2400.jpg",
"summary": "Breaking Bad follows protagonist Walter White, a chemistry teacher...",
"url": "https://www.tvmaze.com/shows/169/breaking-bad",
"scrapedAt": "2026-07-06T14:00:00.000Z"
}

💡 Use cases

  • TV & streaming analytics — build a TV shows dataset with genres, networks, premiere years and ratings, then chart trends in a BI tool.
  • Recommendation engines & ML — bulk-ingest shows, genres, ratings and cast to train content-based or collaborative recommenders.
  • EPG / what's-on apps — pull a country's daily TV schedule to power an electronic program guide or "what's on tonight" feature.
  • Catalog enrichment — enrich your own media catalog with TVMaze metadata, posters, runtimes, networks and IMDb/TheTVDB cross-IDs via showDetails.
  • Market & competitor research — track which networks air the most shows, benchmark a series' episode ratings, or monitor a genre's back catalog.
  • AI agents & RAG — wrap the Actor as a tool so an LLM can answer "what sci-fi shows air on the BBC?" or embed show summaries for retrieval.

👥 Who uses it

TV & streaming analysts · recommendation-engine & ML developers · EPG / "what's-on" app builders · media-catalog & metadata teams · data journalists & researchers · AI-agent and RAG developers.

💰 Pricing

This Actor runs on a simple pay-per-result model — you pay for the records you extract, with no separate Apify platform fees to calculate. Try it on the free tier first, then scale up. See the Pricing tab on this page for the current rate.

❓ Frequently Asked Questions

Do I need a TVMaze API key or account?

No. TVMaze offers a free, open REST API and this Actor reads it directly. You only need an Apify account — no TVMaze API key, no OAuth, no login.

Is this a TVMaze API or a TV database API alternative?

Both, effectively. It works as a convenient wrapper over the TVMaze API and as a practical TV database API for teams who want structured JSON, ready-made CSV/Excel exports and dataset views without writing their own pagination and flattening.

How do I scrape TV episodes without an API key?

Pick episodes mode and set the numeric showId (for example 83 for a long-running animated series). The Actor returns every episode with season and episode numbers, air dates, runtimes, per-episode ratings and summaries — no key or login required.

How do I get a TVMaze show ID or person ID?

A show ID is the integer in a TVMaze show URL (tvmaze.com/shows/169/...169). A person ID is the integer in a person URL (tvmaze.com/people/1/...1). Use searchShows or people search first to discover IDs, then feed them into the ID-based modes.

How do I export TV show data to CSV, JSON or Excel?

Run any mode and download the dataset as CSV, JSON, Excel (XLSX), HTML, RSS or JSON Lines from the run page, or pull it via the Apify API. This makes it a simple TV show data export and TV dataset tool.

How do I get a TV schedule / what's-on-tonight API?

Use schedule mode with a country code (e.g. US, GB) and an optional date. A single US day returns well over 100 airings, each joined to its show (network, genres, rating) — perfect for an EPG or "what's on" feature.

How much data can the show index return?

showIndex paginates the entire TVMaze catalogue at 250 shows per page. A single run can pull thousands of shows into one dataset — just raise maxResults. It's the guaranteed high-volume mode and the default.

Does it cover cast and characters?

Yes. Use cast mode with a showId to get every cast member mapped to the character they play (with self/voice flags and photos), or set embedCast: true in showDetails to attach a compact cast list to each show.

Can I get IMDb and TheTVDB IDs too?

Yes. Every show row includes imdbId and TheTVDB cross-reference IDs from TVMaze's externals, so you can join TVMaze data to IMDb or TheTVDB datasets.

The Actor reads only publicly available data from the open TVMaze REST API. You are responsible for using the data in compliance with TVMaze's terms and applicable laws such as GDPR.

🔗 More media & entertainment scrapers by logiover

Building a full entertainment dataset? Pair TVMaze with the rest of the media suite:

ActorWhat it does
IMDb ScraperMovie & TV titles, ratings and metadata from IMDb
Letterboxd Film Review ScraperFilm reviews and ratings from Letterboxd
MyAnimeList Anime ScraperAnime titles, scores and metadata from MyAnimeList
Discogs ScraperMusic releases, artists and labels from Discogs
Twitch ScraperLive streams, channels and category data from Twitch
Steam Game Reviews ScraperGame reviews and ratings from Steam
Apple Podcasts Episode ScraperPodcast shows and episode metadata
YouTube Channel ScraperAll videos of a YouTube channel
YouTube Video Details ScraperFull metadata for any YouTube video
Resident Advisor ScraperElectronic-music events and artists

👉 Browse all logiover scrapers on Apify Store — 180+ actors across real estate, jobs, crypto, social media & B2B data.

⏰ Scheduling & integration

Schedule this Actor on Apify to refresh a TV dataset daily or weekly, or to snapshot the daily schedule for an EPG feed. Export results to JSON, CSV, Excel, HTML, RSS or JSON Lines, sync to Google Sheets, or push to your database, BI tools and webhooks through the Apify API. Call it from your stack via run-sync-get-dataset-items, the JavaScript/Python clients, or no-code tools like Make, n8n and Zapier to build automated media pipelines.

⭐ Support & feedback

Found a bug or need an extra field or mode? Open an issue on the Issues tab — response is usually within 24 hours. If this Actor saves you time, a ★★★★★ review on the Store page genuinely helps and is hugely appreciated. 🙏

This Actor reads only publicly available data from the open TVMaze REST API and is intended for legitimate research, analytics and product-development use. You are responsible for complying with TVMaze's terms of service, GDPR and any applicable local laws.


📝 Changelog

2026-07-06

  • ✨ README overhaul: full per-mode field reference, richer output sample, ready-to-run example scenarios (catalogue / episodes / schedule), media & entertainment cross-promo links, expanded FAQ and clearer quick-start.

2026-07-01

  • Initial release: seven TVMaze modes (show index, search shows, show details, episodes, cast, schedule, people) over the open TVMaze REST API — no key, no browser.