TL;DR Short answer: TVmaze's API is free, needs no key, and allows 20 requests every 10 seconds per IP, so the best TVmaze ETL tools are the ones that pace requests and respect its CC BY-SA licence. Airbyte has a TVMaze Schedule connector for broadcast, streaming and upcoming schedules, PostHog can sync the show catalogue into its warehouse, and Python tools suit custom pulls. Eight TVmaze ETL tools compared:
Airbyte : a TVMaze Schedule connector with domestic, web and future schedule streams, alongside 700+ other sources.PostHog : a TVmaze source that syncs the show catalogue and people into PostHog's data warehouse.dlt : an open-source Python library that loads TVmaze's JSON into a warehouse with schema handling.pytvmaze : a Python wrapper for the TVmaze API, for shows, episodes, cast and schedules.n8n : workflow automation with an HTTP Request node, self-hostable.Make : no-code scenarios that pull schedules on a timer.Pipedream : scheduled workflows with Python or Node.js steps.Google Sheets with Apps Script : a short script that writes tonight's schedule into a sheet.The TVmaze constraint: 20 requests every 10 seconds per IP means fetching episodes and cast for thousands of shows takes time, so pull schedules by date and use the updates endpoint to refresh only what changed. TVmaze ETL tools pull TV schedule and show data from the TVmaze API into a warehouse, database or spreadsheet, for programming guides, content analytics, media research and recommendation features. TVmaze covers broadcast and streaming schedules for many countries, plus shows, episodes, seasons and cast, as JSON from a free public API. For other free public data sources, see our guide to Wikipedia Pageviews ETL tools .
Every TVmaze ETL tool reads the same public API at api.tvmaze.com. The main endpoints are:
Schedule: episodes airing on broadcast channels in a given country on a given date. Web schedule: episodes released on streaming and web platforms, globally or by country. Full schedule: all known future airings across every country, a large dataset refreshed daily. Shows, episodes and seasons: details, summaries, ratings, genres and episode lists for each show. People, cast and crew: actors, characters and credits. Updates: when each show or person last changed, for refreshing only what changed. How do the TVmaze ETL tools compare? Tool Approach Data covered Best for Cost Airbyte Pre-built schedule connector Domestic, web and future schedules Schedules next to other data in a warehouse Free self-hosted Core; paid Cloud plans PostHog Data warehouse source Show catalogue and people Teams already using PostHog Included with PostHog usage dlt Python REST API source Any TVmaze endpoint Python teams loading a warehouse Free, open source pytvmaze Python API wrapper Shows, episodes, cast, schedules Custom scripts and research Free, open source n8n HTTP Request node Any endpoint Self-hosted automation Free self-hosted; paid cloud Make HTTP module in scenarios Any endpoint No-code scheduled pulls Operations-based, free tier Pipedream Scheduled code workflows Any endpoint Developers wanting managed scheduling Credit-based, free tier Apps Script Script with a time trigger Schedules for a few channels Daily schedule in a sheet Free with Google Workspace
Which TVmaze ETL tools should you consider? Eight TVmaze ETL tools, from a pre-built connector to scripts:
1. Airbyte Airbyte is the open-source data connectivity platform for AI and analytics, and among TVmaze ETL tools it is the one with a pre-built schedule connector. Its TVMaze Schedule source has three streams: domestic, for broadcast schedules in a country you choose; web, for streaming and web releases; and future, for all upcoming airings. It needs no API key, only a start date, which can be in the future, and an ISO country code, and it syncs with full refresh. For more ELT options, see our guide to ELT tools .
Airbyte makes sense when TV schedules should sit next to other data, such as your own viewing, advertising or content performance data, in one warehouse. The connector covers schedules rather than the full show and cast catalogue, so for those endpoints use the Connector Builder or a Python tool. Airbyte runs in Airbyte Cloud, in your own environment with Airbyte Flex, or self-hosted with Airbyte Core.
Pros Cons Pre-built schedule streams Full refresh only No API key needed Schedules only, not the full show catalogue Schedules land next to business data One domestic country per source
2. PostHog PostHog's data warehouse includes a TVmaze source that syncs the show catalogue, people and their last-updated timestamps, with no credentials needed. It skips per-show episodes, seasons and cast because of TVmaze's rate limit, which makes it a quick way to get the catalogue next to product analytics if you already use PostHog. For more on PostHog data, see our guide to PostHog ETL tools .
Pros Cons No credentials needed Catalogue only, no per-show episodes or cast Sits next to product analytics Only useful inside PostHog Managed syncs Newer source that may change
3. dlt dlt is an open-source Python library for loading data. Its REST API source can call any TVmaze endpoint, page through the show index and load the JSON into DuckDB, BigQuery, Snowflake or Postgres with schema inference, which suits Python teams that want a scheduled warehouse pipeline in code. For more code-first options, see our guide to Python ETL tools .
Pros Cons Works with any endpoint You write and schedule the pipeline Schema inference and evolution Requires Python skills Free and open source Rate-limit pacing is yours to add
4. pytvmaze pytvmaze is an open-source Python wrapper for the TVmaze API that returns shows, episodes, cast and schedules as Python objects. It suits scripts and research where you want specific shows or dates, and you control how the results are stored. For other API pipelines, see our guide to REST API ETL tools .
Pros Cons Simple Python interface Not a pipeline: scheduling is up to you Covers shows, episodes and cast Community-maintained wrapper Free and open source Storage and history are yours to manage
5. n8n n8n is one of the self-hostable TVmaze ETL tools: its HTTP Request node pulls the day's schedule on a timer and writes it to a database, sheet or chat channel, and its Wait node makes it easy to stay under 20 requests every 10 seconds.
Pros Cons Self-hosting option You run and maintain it if self-hosted Wait nodes help with rate limits Not built for large catalogue backfills Hundreds of destination integrations Response handling is yours to add
6. Make Make is the no-code option among TVmaze ETL tools: it calls the API through its HTTP module inside a scheduled scenario and routes tonight's schedule to sheets, databases or messaging tools.
Pros Cons No-code and quick to set up Operations-based pricing adds up Easy routing to many apps Not designed for warehouse loading Free tier to start Complex scenarios become hard to maintain
7. Pipedream Pipedream runs scheduled workflows where a Python or Node.js step calls the TVmaze API and sends results to a database or app, without managing servers. It sits between no-code tools and a self-built service.
Pros Cons Code steps with managed scheduling Credit-based pricing at volume Many prebuilt destination actions Still your logic to maintain Free tier for testing Not built for warehouse-scale history
8. Google Sheets with Apps Script A short Apps Script function can call the TVmaze schedule endpoint with UrlFetchApp and write the day's listings into a sheet, with a time-driven trigger running it each morning. It suits a simple viewing guide for a few channels. For more spreadsheet pipelines, see our guide to Google Sheets ETL tools .
Pros Cons Free with Google Workspace Not suited to large volumes Easy to share Apps Script quotas limit run time No extra tools needed Errors are easy to miss without alerting
What should you check before syncing TVmaze data? Whichever TVmaze ETL tools you choose, check these first:
Rate limit: stay under 20 requests every 10 seconds per IP, and back off when you receive HTTP 429.Licence: TVmaze data is licensed CC BY-SA, which requires attribution to TVmaze and sharing derived data under the same licence, so check this before republishing.Incremental refresh: use the updates endpoints to find shows and people that changed, rather than re-fetching the whole catalogue.Time zones: air times are local to the network, so store the time zone and convert to UTC before comparing across countries.Domestic versus web: broadcast and streaming releases come from different endpoints, so pull both if you need the complete picture.Identifiers: store TVmaze IDs alongside external IDs such as IMDb or TheTVDB, which TVmaze returns, to join with other datasets.How do you start pulling TVmaze data with Airbyte? If you decide to test Airbyte, setting up a TVmaze pipeline takes three steps.
Step 1: Set up TVMaze Schedule as a source In Airbyte, open Sources, choose New source and select TVMaze Schedule . No credentials are needed: enter a start date, an optional end date, and the ISO country codes for domestic and, optionally, web schedules.
Step 2: Set up a destination Pick where the schedules should land, such as BigQuery, Snowflake, Postgres or another database. For warehouse options, see our guide to cloud data warehouses .
Step 3: Configure the connection Select the domestic, web and future streams you need and schedule a daily sync. The process is the same whether you start with Airbyte Cloud or run self-hosted Airbyte Core .
Which TVmaze ETL tool should you choose? Choosing between TVmaze ETL tools comes down to whether you need schedules or the catalogue. For broadcast, streaming and upcoming schedules in a warehouse, use Airbyte. For the show catalogue next to product analytics, PostHog's source is quickest. For episodes, cast and custom queries, dlt or pytvmaze give the most control, and n8n, Make, Pipedream or Apps Script suit daily listings. For other media and audience data, see our guide to YouTube Analytics ETL tools .
Load TV schedules with Airbyte Sync TVmaze broadcast, streaming and upcoming schedules into the same warehouse as your business data with Airbyte, in Airbyte Cloud, in your own environment with Airbyte Flex, or self-hosted with Airbyte Core.
Try Airbyte Cloud free for 14 days or talk to our team .
Frequently Asked Questions (FAQs) 1. What are the best TVmaze ETL tools? Airbyte has a pre-built TVMaze Schedule connector for broadcast, streaming and upcoming schedules, and PostHog can sync the show catalogue into its warehouse. dlt and pytvmaze suit Python users, and n8n, Make, Pipedream and Apps Script suit simple scheduled pulls.
2. Do I need an API key for TVmaze? No. The public TVmaze API needs no key or account. It allows at least 20 requests every 10 seconds per IP address and returns HTTP 429 when you exceed that.
3. Can I use TVmaze data commercially? TVmaze data is licensed CC BY-SA, which allows commercial use with attribution to TVmaze and requires sharing derived data under the same licence. Check the terms before republishing.
4. Does Airbyte's TVmaze connector sync shows and cast? No. Airbyte's TVMaze Schedule connector syncs domestic, web and future schedule streams. For the show catalogue, episodes and cast, use the Connector Builder or a Python tool.
5. How do I keep TVmaze data up to date without re-fetching everything? Use the updates endpoints, which list when each show or person last changed, and refresh only those records instead of the whole catalogue.
Suggested reads Wikipedia Pageviews ETL Tools
NewsData.io ETL Tools
NASA ETL Tools
Data Ingestion Tools