Skip to content

API: Collections

Collections

Curated collections of media.

GET List collections
GET /v1/collections

Returns all public collections available for the given country.

Requires Authorization: Bearer header

Parameters

country query required

ISO 3166-1 alpha-2 country code

string

Responses

200 Collections list
400 Missing required parameter

Response schema 200

countrystringrequired
collectionsobject[]required
idstringrequired
namestringrequired
slugstringrequired
descriptionstringrequirednullable
countrystringrequirednullable
languagestringrequirednullable
Try it

Get an API key

curl -X GET 'https://popcorntime-api-production.wicked-f82.workers.dev/v1/collections?country=US' \
  -H 'Authorization: Bearer YOUR_API_KEY'
const res = await fetch('https://popcorntime-api-production.wicked-f82.workers.dev/v1/collections?country=US', {
  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/collections?country=US',
    headers={'Authorization': 'Bearer YOUR_API_KEY'})
data = res.json()
// Example response
{
  "country": "string",
  "collections": [
    {
      "id": "string",
      "name": "string",
      "slug": "string",
      "description": "string",
      "country": "string",
      "language": "string"
    }
  ]
}
GET Collection detail
GET /v1/collections/{slug}

Returns a collection with its media items. Supports pagination for large collections.

Requires Authorization: Bearer header

Parameters

slug path required

Collection slug

string
country query required

ISO 3166-1 alpha-2 country code

string
limit query
integer default: 50
offset query
integer default: 0

Responses

200 Collection detail
404 Collection not found

Response schema 200

resultsobject[]required
idstringrequired
slugstringrequired
titlestringrequired
original_titlestringrequirednullable
yearintegerrequirednullable
kindmovie | tv_showrequired
posterstringrequirednullable
backdropstringrequirednullable
genresstring[]required
popularitynumberrequired
tmdb_ratingnumberrequirednullable
positionintegerrequirednullable
totalintegerrequired

Total number of items (before pagination)

limitintegerrequired
offsetintegerrequired
idstringrequired
namestringrequired
slugstringrequired
descriptionstringrequirednullable
countrystringrequirednullable
languagestringrequirednullable
Try it

Get an API key

curl -X GET 'https://popcorntime-api-production.wicked-f82.workers.dev/v1/collections/fresh-blood?country=US&limit=50' \
  -H 'Authorization: Bearer YOUR_API_KEY'
const res = await fetch('https://popcorntime-api-production.wicked-f82.workers.dev/v1/collections/fresh-blood?country=US&limit=50', {
  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/collections/fresh-blood?country=US&limit=50',
    headers={'Authorization': 'Bearer YOUR_API_KEY'})
data = res.json()
// Example response
null