TVmaze TV Schedule Scraper
Pricing
from $11.00 / 1,000 result items
TVmaze TV Schedule Scraper
Export daily TV schedules and people records from the TVmaze database. Pick a country and date to pull airing episodes with show, network, runtime, summary, and cast. Search people by name to get bios, birthdays, and image URLs.
Pricing
from $11.00 / 1,000 result items
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share

📺 TVmaze TV Schedule Scraper
🚀 Export daily TV schedules, show catalogs, and people records in seconds. Pull airing episodes, full show metadata, and cast across 55+ countries. No API key, no registration, no login walls.
🕒 Last updated: 2026-05-22 · 📊 40+ fields per record · 🌍 55 countries · 📺 5 data modes · 🎬 every airing episode
The TVmaze TV Schedule Scraper exports the community-maintained global TV catalog and returns up to 40+ structured fields per record, including episode metadata, full show details, network, premiere and finale dates, ratings, IMDb cross-references, and cast bios. The underlying dataset is one of the most widely cited open television references and has been maintained since 2008.
Coverage spans daily TV schedules across 55+ countries, the complete show catalog with seasons and episodes, single-show drill-downs by ID, and a global people search for actors, hosts, and crew. Records are returned as CSV, Excel, JSON, or XML in under a minute. All filters run on the source side, so you skip the parser engineering entirely.
| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| EPG and streaming dashboards, TV app developers, recommendation engines, content licensing teams, entertainment journalists, fan sites | Daily airing grids, "what's on tonight" widgets, show metadata enrichment, cast lookups, recommendation engine training, IMDb cross-referencing |
📋 What the TVmaze Scraper does
Five data modes in a single Actor:
- 📅 Daily Schedule. Every episode airing on a given date in a chosen country.
- 🔍 Show Search. Keyword search across the global show catalog.
- 🎬 Show Details. Full show metadata, episodes, seasons by numeric show ID.
- 📚 Show Catalog Page. Page through the full show index (250 shows per page).
- 🧑 People Search. Look up actors, hosts, and crew by name with bios and image URLs.
Each record carries cross-mode keys (showId, personId, episodeId) plus external IDs (imdb, thetvdb, tvrage) so you can JOIN against any other entertainment dataset.
💡 Why it matters: TV schedule and show metadata powers EPG grids, streaming app guides, recommendation systems, and editorial coverage. Building your own pipeline means scraping multiple network sites, normalizing timezones, and rebuilding when each broadcaster changes layout. This Actor skips all of that.
🎬 Full Demo
🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded TV dataset.
⚙️ Input
| Input | Type | Default | Behavior |
|---|---|---|---|
| maxItems | integer | 10 | Records to return. Free plan caps at 10, paid plan at 1,000,000. |
| mode | string | "schedule" | One of 5 modes: schedule, shows, showDetail, showsIndex, people. |
| country | string | "US" | ISO 3166-1 alpha-2 country code for the daily schedule. 55 countries supported. |
| date | string | today | YYYY-MM-DD. Used with schedule mode only. |
| showQuery | string | null | Search term for show search mode (e.g. "breaking bad"). |
| showId | integer | null | Numeric show ID for showDetail mode (169 = Breaking Bad). |
| showsPage | integer | 0 | Page index for showsIndex mode (250 shows per page). |
| peopleQuery | string | null | Search term for people search mode. |
Example: tonight's UK TV schedule.
{"maxItems": 100,"mode": "schedule","country": "GB"}
Example: full show metadata for Breaking Bad.
{"mode": "showDetail","showId": 169}
⚠️ Good to Know: schedule records can carry timezones distinct from your local clock. Use the
airstampfield (UTC) when you need a normalized timestamp;airtimeandairdatereflect the broadcaster's local schedule. People records may havebirthdayordeathdayset to null when the source has no public data.
📊 Output
Each record is tagged with a recordType and carries the relevant subset of 40+ fields. Download the dataset as CSV, Excel, JSON, or XML.
🧾 Schema
| Field | Type | Example |
|---|---|---|
🖼️ imageUrl | string | null | "https://static.tvmaze.com/uploads/.../jpg" |
🏷️ recordType | string | "episode" |
🎞️ episodeId | number | 3621165 |
🏷️ episodeName | string | "Episode 98" |
🎯 episodeType | string | "regular" |
🔢 season, number | number | 2026, 98 |
📆 airdate, airtime, airstamp | string | "2026-05-20", "00:00", "2026-05-21T04:00:00+00:00" |
⏱️ runtime | number | null | 120 |
⭐ episodeRating | number | null | 8.4 |
🔗 episodeUrl | string | null | "https://www.tvmaze.com/episodes/.../episode-98" |
📝 summary | string | null | HTML snippet |
🎬 showId, showName, showType | number, string | 82, "Game of Thrones", "Scripted" |
🌐 language | string | null | "English" |
🏷️ genres | array | ["Drama", "Action"] |
📡 showStatus | string | "Running" |
⏱️ showRuntime, showAverageRuntime | number | 60, 56 |
⭐ showRating, showWeight | number | 9.3, 100 |
📆 premiered, ended | date | null | "2011-04-17", "2019-05-19" |
🕒 scheduleTime | string | "21:00" |
📅 scheduleDays | array | ["Sunday"] |
📺 networkName, networkCountry, networkTimezone | string | "HBO", "US", "America/New_York" |
🎫 imdb, thetvdb, tvrage | string, number | "tt0944947", 121361, 24493 |
🔗 officialSite, showUrl | string | null | "https://hbo.com/..." |
🧑 personId, personName | number, string | 27, "Hugh Laurie" |
🌍 country, birthday, deathday, gender | string | null | "GB", "1959-06-11", null, "Male" |
🔗 personUrl | string | null | "https://www.tvmaze.com/people/.../hugh-laurie" |
🕒 scrapedAt | ISO 8601 | "2026-05-22T00:00:00.000Z" |
📦 Sample records
✨ Why choose this Actor
| Capability | |
|---|---|
| 📺 | 5 data modes. Schedule, show search, show detail, show catalog index, people search. |
| 🌍 | 55 country schedules. Daily airing grids for every major broadcast market. |
| 🔑 | Cross-system IDs. IMDb, TheTVDB, and TVRage codes ready for JOINs. |
| ⚡ | Fast. 10 records in under 5 seconds, 1,000 episodes in under a minute. |
| 🎬 | Cast and crew. People search returns bios, country, and image URLs. |
| 🚫 | No authentication. Works with the public TV catalog. No login, no API key. |
| 🔁 | Always fresh. Every run fetches the latest schedule data, so the dataset reflects today's grid. |
📊 Accurate TV schedule data is the foundation of every electronic program guide, streaming app, recommendation engine, and editorial coverage site in modern entertainment.
📈 How it compares to alternatives
| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| ⭐ TVmaze Schedule Scraper (this Actor) | $5 free credit, then pay-per-use | 55 countries, all genres | Live per run | country, date, search, ID, mode | ⚡ 2 min |
| Gracenote / Nielsen EPG feeds | $$$$ enterprise | Global | Streaming | Many | ⏳ Weeks |
| IMDb scraping | Free | Show metadata only | Manual | None | 🐢 Days |
| Per-network scraping | Free | Single network | Manual | None | 🕒 Variable |
Pick this Actor when you want broad multi-country schedule coverage, server-side filtering, and zero parser maintenance.
🚀 How to use
- 📝 Sign up. Create a free account with $5 credit (takes 2 minutes).
- 🌐 Open the Actor. Go to the TVmaze TV Schedule Scraper page on the Apify Store.
- 🎯 Set input. Pick a mode (start with
schedule), choose a country and date, and setmaxItems. - 🚀 Run it. Click Start and let the Actor collect your data.
- 📥 Download. Grab your results in the Dataset tab as CSV, Excel, JSON, or XML.
⏱️ Total time from signup to downloaded dataset: 3-5 minutes. No coding required.
💼 Business use cases
🔌 Automating TVmaze Schedule Scraper
Control the scraper programmatically for scheduled runs and pipeline integrations:
- 🟢 Node.js. Install the
apify-clientNPM package. - 🐍 Python. Use the
apify-clientPyPI package. - 📚 See the Apify API documentation for full details.
The Apify Schedules feature lets you trigger this Actor on any cron interval. Run daily at midnight for next-day grids, or hourly for catalog updates as new shows are added.
🌟 Beyond business use cases
Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.
🤖 Ask an AI assistant about this scraper
Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:
- 💬 ChatGPT
- 🧠 Claude
- 🔍 Perplexity
- 🅒 Copilot
❓ Frequently Asked Questions
🧩 How does it work?
Pick a mode, set filters like country and date or a search query, click Start, and the Actor pulls one clean record per episode, show, or person. No browser automation, no captchas, no setup.
🌍 How many countries are supported for the daily schedule?
55 countries across every major broadcast market: US, GB, CA, AU, DE, FR, ES, IT, JP, KR, BR, MX, IN, ZA, plus 41 more.
📅 Can I get tomorrow's or last week's schedule?
Yes. Set the date field to any YYYY-MM-DD value. The source covers past, present, and announced future air dates.
🎬 Can I get full show metadata including episodes?
Yes. Run with mode: "showDetail" and pass the numeric showId (e.g. 169 for Breaking Bad). You get show summary, genres, network, premiered and ended dates, ratings, IMDb cross-references, and the full episode list.
🧑 Can I look up actors and crew?
Yes. Run with mode: "people" and pass a peopleQuery (e.g. "Hugh Laurie"). You get person ID, country, birthday, gender, and image URL.
⏰ Can I schedule regular runs?
Yes. Use Apify Schedules to trigger this Actor on any cron interval. Common patterns: daily at midnight for next-day grids, or hourly for show catalog updates.
🔗 Are external IDs included for cross-system joins?
Yes. Every show record carries imdb, thetvdb, and tvrage IDs where available, so you can join against IMDb, TheTVDB, or any other entertainment dataset.
💳 Do I need a paid Apify plan to use this Actor?
No. The free Apify plan is enough for testing and small runs (10 records per run). A paid plan lifts the limit and gives you access to scheduling, higher concurrency, and full schedule pulls.
🔁 What happens if a run fails or gets interrupted?
Apify automatically retries transient errors. If a run still fails, inspect the log in the Runs tab, fix the input, and re-run. Partial datasets from failed runs are preserved so you never lose progress.
⚖️ Is this data legal to use?
The source publishes TV schedule data under a permissive open license. Commercial use is generally allowed for analytics, editorial, and product workflows. Review the downstream terms of your specific use case.
🆘 What if I need help?
Our support team is here to help. Contact us through the Apify platform or use the Tally form linked below.
🔌 Integrate with any app
TVmaze Schedule Scraper connects to any cloud service via Apify integrations:
- Make - Automate multi-step workflows
- Zapier - Connect with 5,000+ apps
- Slack - Get premiere notifications in your channels
- Airbyte - Pipe TV grids into your warehouse
- GitHub - Trigger runs from commits and releases
- Google Drive - Export datasets straight to Sheets
You can also use webhooks to trigger downstream actions when a run finishes. Push fresh grids into your EPG backend, or alert your team in Slack when a tracked show airs.
🔗 Recommended Actors
- 🎥 PR Newswire Scraper - Press releases for entertainment industry monitoring
- 🤗 Hugging Face Model Scraper - Discover open ML models for recommendation systems
- ✈️ OurAirports Global Airport Database Scraper - Worldwide airport reference data
- 📈 Indexmundi Scraper - Global demographic and economic indicators
- 🏨 Agoda Scraper - Hotel availability, pricing, and reviews
💡 Pro Tip: browse the complete ParseForge collection for more reference-data scrapers.
🆘 Need Help? Open our contact form to request a new scraper, propose a custom data project, or report an issue.
⚠️ Disclaimer: this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by TVmaze, any TV network, or any production studio. All trademarks mentioned are the property of their respective owners. Only publicly available open TV schedule data is collected.