Skip to content

API: Snapshots

Snapshots

Weekly open-source Parquet data releases. Download the full dataset for offline use, research, or self-hosting the desktop app.

GET List releases
GET /v1/snapshots

Returns the latest weekly open-source release with a full file manifest. Includes per-country links, metadata, and provider data — everything needed for offline use.

Requires Authorization: Bearer header

Responses

200 Latest release info with file list

Response schema 200

lateststringrequired
published_atstringrequired
countriesstring[]required
total_filesnumberrequired
total_size_bytesnumberrequired
filesobject[]required
pathstringrequired
size_bytesnumberrequired
download_basestringrequired
notestringrequired
Try it

Get an API key

curl -X GET 'https://popcorntime-api-production.wicked-f82.workers.dev/v1/snapshots' \
  -H 'Authorization: Bearer YOUR_API_KEY'
const res = await fetch('https://popcorntime-api-production.wicked-f82.workers.dev/v1/snapshots', {
  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/snapshots',
    headers={'Authorization': 'Bearer YOUR_API_KEY'})
data = res.json()
// Example response
{
  "latest": "2026-W12",
  "published_at": "string",
  "countries": [
    "string"
  ],
  "total_files": 0,
  "total_size_bytes": 0,
  "files": [
    {
      "path": "country=US/links.parquet",
      "size_bytes": 0
    }
  ],
  "download_base": "string",
  "note": "string"
}
GET Schemas
GET /v1/schemas

Returns the schema definitions for all Parquet files in the open-source snapshots. Useful for building tools that validate or introspect the data.

Requires Authorization: Bearer header

Responses

200 Schema definitions for all snapshot files
503 Schema not yet generated

Response schema 200

schema_versionnumberrequired
descriptionstringrequired
docsstringrequired
filesobject[]required
filestringrequired
descriptionstringrequired
locationper-country | globalrequired
sorted_bystring[]
columnsobject[]required
namestringrequired
typestringrequired
nullablebooleanrequired
descriptionstringrequired
Try it

Get an API key

curl -X GET 'https://popcorntime-api-production.wicked-f82.workers.dev/v1/schemas' \
  -H 'Authorization: Bearer YOUR_API_KEY'
const res = await fetch('https://popcorntime-api-production.wicked-f82.workers.dev/v1/schemas', {
  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/schemas',
    headers={'Authorization': 'Bearer YOUR_API_KEY'})
data = res.json()
// Example response
{
  "schema_version": 0,
  "description": "string",
  "docs": "string",
  "files": [
    {
      "file": "links.parquet",
      "description": "string",
      "location": "per-country",
      "sorted_by": [
        "string"
      ],
      "columns": [
        {
          "name": null,
          "type": null,
          "nullable": null,
          "description": null
        }
      ]
    }
  ]
}
GET Download URL
GET /v1/snapshots/download

Returns a download URL for any file in an open-source release. The URL requires your API key and is valid for 1 hour.

Requires Authorization: Bearer header

Parameters

path query required

File path relative to the release

string
version query

Release version (defaults to latest)

string

Responses

200 Download URL
400 Missing or invalid parameter
403 File not in manifest — not available for download
404 File or release not found
503 No releases available yet

Response schema 200

versionstringrequired
pathstringrequired
size_bytesnumberrequired
download_urlstringrequired
expires_atstringrequired
Try it

Get an API key

curl -X GET 'https://popcorntime-api-production.wicked-f82.workers.dev/v1/snapshots/download?path=country=US/links.parquet&version=2026-W12' \
  -H 'Authorization: Bearer YOUR_API_KEY'
const res = await fetch('https://popcorntime-api-production.wicked-f82.workers.dev/v1/snapshots/download?path=country=US/links.parquet&version=2026-W12', {
  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/snapshots/download?path=country=US/links.parquet&version=2026-W12',
    headers={'Authorization': 'Bearer YOUR_API_KEY'})
data = res.json()
// Example response
{
  "version": "string",
  "path": "string",
  "size_bytes": 0,
  "download_url": "string",
  "expires_at": "string"
}