Browse Streaming Catalogs by Service and Filters

View all Streaming Availability endpoints →

Search available movies and series in one required country. catalogs accepts up to 32 comma-separated filters: a service ID such as netflix, a service plus access type such as prime.subscription, or service.addon.addon_id using an add-on ID from the country directory. A bare service ID includes its supported viewing types, not just subscription-included titles; multiple catalogs match any listed catalog. Omit catalogs to search all available catalogs in that country. Combine genre IDs from get-genres using genres_relation=and or or, match a keyword in the title or overview, restrict original language, and set year or rating bounds. order_by supports title, release date, rating and the listed popularity periods; use order_direction=desc for highest-rated results first. The observed US Netflix movie request returned a raw object with shows, hasMore and nextCursor. Each show contained identifiers, title, releaseYear, overview, genres, cast, rating, runtime, imageSet and streamingOptions.us, potentially including services beyond the selected catalog. Follow nextCursor only when hasMore is true and preserve every other filter. The observed nonexistent keyword returned exactly shows:[] and hasMore:false, with no nextCursor. Movie or show-level pages contain 20 results; documented series page sizes vary with series_granularity. This endpoint returns discovery metadata and service links, not playable media.

API Features

Service and add-on catalog syntax Target an entire service, one viewing option type or a specific add-on channel instead of conflating all forms of access.
Composable discovery constraints Combine genre logic, title or overview keywords, original language, release-year bounds and rating bounds in a single catalog query.
Explicit rating and popularity ordering Choose a supported order_by value and direction, including time-scoped popularity options for discovery collections.
Cursor pages with a clear empty state Read shows and hasMore, reuse nextCursor only for further pages, and stop when hasMore is false without requiring a cursor.

Live API Demo

GET /api/project/streaming-availability/search-shows-by-filters

Request cost is temporarily unavailable. No price is assumed.

View pricing

API Response (JSON)

{}
curl -X GET 'https://api.opendata-api.com/api/project/streaming-availability/search-shows-by-filters?key=<API_KEY>&country=<country>&genres_relation=and&order_by=original_title&output_language=en&series_granularity=show'
📢
Need Help?
If you encounter API issues or need other API requirements, please contact us.
Contact Us

Use Cases

Frequently asked questions

How can I browse the Netflix US movie catalog?

Set country=us, catalogs=netflix and show_type=movie, then add genre, year or rating constraints as needed. Read shows from the response and continue with nextCursor only when hasMore is true. Catalog availability reflects the current response, not a permanent coverage guarantee.

How do I restrict discovery to subscription access rather than rentals or purchases?

Discover the service ID and supported access types in the selected country's directory, then use a selector such as prime.subscription. A bare service ID is not subscription-only. Inspect each returned viewing option's type, price and add-on requirements before presenting access.

Can I change a year or service filter while continuing with a cursor?

No. Preserve country, catalogs, genres, ordering and all other filters when passing nextCursor as cursor. After changing filters, remove the old cursor and start a new search. Stop when hasMore is false.

Why can a catalog-filtered title include links to other services?

catalogs selects matching titles; it does not necessarily trim each title's streamingOptions to that catalog. Handle the services and access types actually returned. If your interface should show only the chosen service, filter its viewing options separately for display.

Related operations

Guides

View Subscription Plans →