Access and scope
Set CRAWLORA_API_KEY to your Crawlora key. Prefer the listed Crawlora MCP tools
when connected; otherwise use the bundled scripts/crawlora.sh, which sends
x-api-key to https://api.crawlora.net/api/v1. Read
reference/endpoints.md for exact methods and parameters.
Check application code as well as HTTP status; payloads are inside data.
Stop on authentication errors, back off on 429, and retry a transient upstream
failure once. Bound calls/pages by the requested scope and credit budget. Retain
source IDs, URLs, source dates, and observation/crawl times separately.
Find viewing offers for specified titles and markets. Establish the exact title, release year, movie/show/episode scope, countries, preferred providers, language, presentation quality, and user-supplied subscriptions when relevant.
Resolve titles and market-specific offers
- Search in the requested country/language and verify title/year/type. Raw
JustWatch title IDs are
tm…for movies orts…for shows, not IMDb/TMDB IDs. Similar names, remakes, and translated titles need identity checks before joins. Retain the result's canonical title URL and public source metadata. - Discover providers separately for each country. Provider catalog identity is not proof of availability for the selected title. Preserve country-specific short/technical names and IDs rather than assuming identical plans across markets.
- Fetch title offers for the actual raw ID.
countriesaccepts one to five comma-separated country codes per call; split a larger requested set and retain failed countries explicitly. A country format passing validation does not guarantee that every requested provider/title market is available. - For a specific season/episode, discover show seasons and season episodes first,
then use the returned
tse…episode ID for episode offers. A show-level offer does not establish every season/episode is included. Season IDs and title IDs are not interchangeable despite related numeric strings.
scripts/crawlora.sh /justwatch/search query="Inception" country=US language=en limit=5
scripts/crawlora.sh /justwatch/providers country=US
# Use a verified raw title ID before:
# scripts/crawlora.sh /justwatch/title/offers id="$TITLE_ID" countries=US,GB language=en
Compare viewing conditions and deliver
Keep subscription, rental, purchase, free, and ad-supported offers separate, retaining raw monetization type, presentation, price/currency, provider link, country, title/episode scope, and observation time. A subscription offer is not proof it is included in the user's specific plan or without a channel add-on. Rental duration, accessibility/audio languages, ads, taxes, and regional/device restrictions remain unknown unless supported by returned/source evidence.
Do not combine different currencies, a full-season purchase with a single episode, or a rental with permanent access. Use user-supplied plan costs only on their stated basis; provider catalogs do not supply a full subscription-price model. Return a title-by-country/provider matrix and a practical shortlist with offer basis, source/time, and missing-condition columns. A 404 search/detail or an empty market offer set is a bounded retrieval result, not proof the title is unavailable on every service. Errors remain unavailable evidence. Do not subscribe, pay, start playback, or promise geographic restriction bypass from this research task.