Skip to content

API: Configuration

Configuration

Streaming providers, supported languages, and other reference data.

GET Providers
GET /v1/providers

Returns all streaming providers available in a country, sorted by weight (popularity). Use provider IDs with search and media endpoints.

Requires Authorization: Bearer header

Parameters

country query required

ISO 3166-1 alpha-2 country code

string
q query

Filter providers by name or ID

string
hide_children query

Exclude child/add-on providers

string truefalse default: false
parent query

Return only children of this provider ID

string

Responses

200 Provider list sorted by weight
400 Missing required parameter

Response schema 200

countrystringrequired
providersobject[]required
idstringrequired
parent_idstringrequirednullable
namestringrequired
logostringrequirednullable
short_idstringrequirednullable
weightnumberrequired
Try it

Get an API key

curl -X GET 'https://popcorntime-api-production.wicked-f82.workers.dev/v1/providers?country=US' \
  -H 'Authorization: Bearer YOUR_API_KEY'
const res = await fetch('https://popcorntime-api-production.wicked-f82.workers.dev/v1/providers?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/providers?country=US',
    headers={'Authorization': 'Bearer YOUR_API_KEY'})
data = res.json()
// Example response
{
  "country": "string",
  "providers": [
    {
      "id": "string",
      "parent_id": "string",
      "name": "string",
      "logo": "string",
      "short_id": "string",
      "weight": 0
    }
  ]
}
GET Languages
GET /v1/locales

Returns the list of language codes that have a MeiliSearch index. Only these languages are valid for the `lang` parameter on other endpoints.

Requires Authorization: Bearer header

Responses

200 Available locales

Response schema 200

localesar | bg | bn | ca | cs | da | de | el | en | es | et | fa | fi | fr | he | hi | hr | hu | id | it | ja | ka | kn | ko | lt | lv | mk | ml | ms | nb | nl | no | pl | pt | ro | ru | sk | sl | sq | sr | sv | ta | te | th | tl | tr | uk | ur | vi | zh | zu[]required
Try it

Get an API key

curl -X GET 'https://popcorntime-api-production.wicked-f82.workers.dev/v1/locales' \
  -H 'Authorization: Bearer YOUR_API_KEY'
const res = await fetch('https://popcorntime-api-production.wicked-f82.workers.dev/v1/locales', {
  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/locales',
    headers={'Authorization': 'Bearer YOUR_API_KEY'})
data = res.json()
// Example response
{
  "locales": [
    "ar"
  ]
}