API: Search
Search
Full-text search across the media catalog with filters.
GET Search
GET
/v1/search Full-text search across movies and TV shows with optional genre and provider filters. Results are ranked by relevance within the specified country.
Requires
Authorization: Bearer header Parameters
q query required Search query
country query required ISO 3166-1 alpha-2 country code
lang query Override language code (defaults to country's primary language)
limit query offset query kind query Filter by content type
genre query Genre slug filter
provider query Provider short_id filter
Responses
200 Search results
400 Missing required parameter
Response schema 200
resultsobject[]requiredidstringrequiredslugstringrequiredtitlestringrequiredoriginal_titlestringrequirednullableyearintegerrequirednullablekindmovie | tv_showrequiredposterstringrequirednullablebackdropstringrequirednullablegenresstring[]requiredpopularitynumberrequiredtmdb_ratingnumberrequirednullabletotalintegerrequiredTotal number of items (before pagination)
limitintegerrequiredoffsetintegerrequiredquerystringrequiredprocessing_time_msnumberrequired Try it
curl -X GET 'https://popcorntime-api-production.wicked-f82.workers.dev/v1/search?q=breaking bad&country=US&limit=20' \
-H 'Authorization: Bearer YOUR_API_KEY' const res = await fetch('https://popcorntime-api-production.wicked-f82.workers.dev/v1/search?q=breaking bad&country=US&limit=20', {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
const data = await res.json(); import requests
res = requests.get('https://popcorntime-api-production.wicked-f82.workers.dev/v1/search?q=breaking bad&country=US&limit=20',
headers={'Authorization': 'Bearer YOUR_API_KEY'})
data = res.json() // Example response
null