Streaming Catalog Research by Market: Build Availability Datasets

A streaming service's catalog changes at every border. Here is how to measure what's available where, market by market, and turn it into licensing and content intelligence.

The same streaming service is a different product in every country. Licensing deals are struck market by market, so a title that headlines the catalogue in Spain may be absent in Germany and arrive in Japan six months later. For anyone in content strategy - studios, distributors, analysts, acquisition teams - that per-market variation is not noise, it is the signal. This guide covers streaming catalog research by market: how to measure what is available where, build a comparable dataset across countries, and turn it into licensing intelligence. A framing note first: this is about observing public catalogues from the outside as market research, not about evading your own subscription's region.

How much catalogues actually differ

The divergence is larger than most people assume. Public library trackers have found the biggest national Netflix catalogue - Slovakia's, in early 2024 - holding around 8,000 titles, while other markets carry a fraction of that. The US library alone runs to something like 3,600+ movies and 1,800+ TV shows, a different mix again from any other country. And availability is not universal: Netflix does not operate in China, North Korea or Crimea at all. Multiply that variation across every provider and every title, and you have a rich, constantly shifting dataset that no single-country view can capture.

Statistics panel showing streaming catalog size varying by country, from ~8,000 titles down, and three countries with no Netflix
Catalogue size and title mix diverge sharply between markets - that spread is exactly what the research measures.

Where the data lives

You do not have to reverse-engineer everything from scratch. Two neutral sources do a lot of the heavy lifting. The Movie Database (TMDb) provides clean, canonical metadata - a stable id per title, cast, release year - which is invaluable for joining records across markets. JustWatch-style availability aggregators track which providers carry which titles in which countries, and community projects like the unofficial Netflix Global Search have long catalogued regional libraries. Use TMDb as your spine for identity, and treat availability feeds as the per-market layer you overlay on top.

Why you need in-market IPs

Here is the mechanical core. A provider's public catalogue and discovery pages render the local library based on where the request appears to come from - so to see the catalogue a subscriber in Italy sees, your request has to originate from an Italian IP. A single vantage point gives you a single country's answer; to build the cross-market dataset, you loop the same query through an exit in each target country. A residential proxy pool spanning 200+ countries is what makes that practical - real in-country IPs, so each market returns its genuine local view rather than a blocked or inconsistent one. This is the same geo-vantage discipline behind ad verification and airfare research, where the answer only exists relative to a location.

Browse the full country coverage on our locations page; the markets you can profile are the markets you have exits in.

import requests

# Fetch a provider's public catalog view as a viewer in each market would
GATE = "gate.quantumproxies.io:8000"
MARKETS = ["us", "gb", "de", "it", "jp", "br"]

def catalog_view(url, country):
    # exit country selected in the proxy username -> the local library view
    proxy = f"http://USER-country-{country}:PASS@{GATE}"
    r = requests.get(url, proxies={"http": proxy, "https": proxy},
                     headers={"Accept-Language": country}, timeout=25)
    return r

by_market = {cc: catalog_view("https://example-provider.com/browse", cc)
             for cc in MARKETS}

Normalising across markets

Raw per-country pulls are not comparable until you reconcile identity. The same film carries different local titles, artwork and slugs in each market, so matching on the display title produces garbage. Key everything to a canonical id - a TMDb id is ideal - so "The Godfather: Part II" in the US and its localised title elsewhere collapse to one record. Once titles are deduplicated across markets, the comparisons write themselves: which countries have a title, when it appeared, how catalogue sizes rank, and where the gaps are.

# Build an availability matrix: which markets carry each canonical title
from collections import defaultdict

availability = defaultdict(set)   # tmdb_id -> set of country codes

def record(country, titles):
    for t in titles:
        availability[t["tmdb_id"]].add(country)

# ...after populating from each market's parsed catalog:
def gaps_vs(reference="us"):
    # titles present in the reference market but missing elsewhere
    return {tid: (all_markets - markets)
            for tid, markets in availability.items()
            if reference in markets}

all_markets = {"us", "gb", "de", "it", "jp", "br"}
Pipeline diagram from picking markets through geo-targeted exits and title normalisation to a cross-market availability comparison
The pipeline is a loop per market, then a join on canonical id - identity reconciliation is what makes markets comparable.

Turning catalogues into intelligence

The dataset earns its keep in the analysis. Track availability windows to see how long after a US release a title reaches other markets - a direct read on licensing lag. Benchmark catalogue size and genre mix by country to understand where a provider invests. Spot content gaps a competitor has and you do not, or vice versa. Watch a specific title roll across borders over weeks to infer deal structures. Run the whole pull on a schedule, timestamp each capture, and the deltas become a licensing-movement feed - the same monitoring logic as competitor price monitoring, applied to content rights.

One habit turns a snapshot into a monitor: schedule the pull and diff each capture against the last. New additions, quiet removals, and a title's first appearance in a market all surface as deltas, giving you a change feed rather than a static inventory. Store every capture with a timestamp and keep the canonical ids stable, and you can reconstruct any market's catalogue as it stood on any past date - which is the difference between a one-off study and an ongoing intelligence product a licensing team will actually pay for.

Stay on the right side of the line

Because this touches geography, be deliberate about scope. The legitimate use here is measuring publicly displayed catalogue and availability data as market research - not circumventing your own account's regional entitlements or redistributing content. Respect each service's terms, collect only public catalogue metadata (titles, availability, dates - not personal user data), and pace your requests politely. This is informative, not legal advice; if a specific programme raises questions, get counsel before you scale it.

Get in-market residential IPs across 200+ countries

Frequently asked questions

Why do streaming catalogues differ by country?

Licensing is negotiated market by market and windowed in time, so the rights to a given title differ - and change - per country. A film may stream in one market, be unavailable in another, and arrive later in a third. Availability also depends on where the provider operates at all; some countries have no service. That per-market variation is what catalogue research measures.

How do I see a streaming catalogue in another country?

For research, request the provider's public catalogue or discovery pages through an exit IP located in the target country, so the local library renders as an in-market viewer would see it. Loop the query across an exit in each country you want to profile using a residential proxy pool, then normalise the results to a canonical title id for comparison.

What data sources help with catalogue research?

Use TMDb for canonical title metadata and stable ids to join records across markets, and availability aggregators (JustWatch-style feeds and community regional-library trackers) for the per-country layer. TMDb gives you identity; the availability feeds give you the market dimension. Overlay the two to build a comparable cross-market dataset.

Is streaming catalogue research legal?

Collecting publicly displayed catalogue and availability metadata for market analysis is common practice, but each service's terms apply, and this is not legal advice. Keep to public catalogue data, avoid personal user information, do not use it to circumvent your own regional entitlements or redistribute content, and get counsel for a specific large-scale programme.

A streaming catalogue is a moving, border-dependent dataset, and its value lives precisely in the differences between markets. Profile each country from an in-market IP, reconcile titles to one canonical id, and capture on a schedule - and scattered regional libraries become a licensing-intelligence engine.

See every country you can profile