Subscription Service Review

API documentation

A free, read-only JSON API for the data on this site. It is open to everyone: no account and no key are needed to start. There is no paid tier.

OpenAPI 3.1 spec (JSON) Import it into Postman, Insomnia, Swagger Editor or an OpenAPI client generator.

Free API key (optional)

Anonymous requests work, with a lower rate limit shared by your IP address. A free key gives you a higher limit that is yours alone. Create a free account, verify your email, and your key appears on your dashboard. Send it with your requests, either way works:

curl https://subscriptionservice.review/api/v1/streamers
curl -H "Authorization: Bearer YOUR_KEY" https://subscriptionservice.review/api/v1/streamers
curl -H "X-API-Key: YOUR_KEY" https://subscriptionservice.review/api/v1/streamers/netflix

Keep your key private and never put it in client-side code. If it leaks, regenerate it from your dashboard and the old one stops working immediately. Never send keys in query strings.

Limits and errors

  • 30 requests per minute without a key (per IP address), 120 per minute with a free key. Responses include X-RateLimit-Remaining; going over returns 429 with Retry-After.
  • List endpoints are paginated: per_page up to 100, and page.
  • 401 an invalid key was sent (or a key is required), 404 not found, 422 invalid parameter (details in errors), 503 API disabled.
  • Prices are integers in cents. Dates are ISO 8601.
  • All input is validated, and free-text search terms are stripped of markup before use.

Endpoints

Base URL: https://subscriptionservice.review/api/v1

MethodPathDescription
GET/openapi.jsonThe OpenAPI 3.1 description of this API.
GET/meConfirms your key works and shows your rate limit (needs a key).
GET/streamersList streaming services. Filters: live_tv, has_locals, max_price, league, q, per_page.
GET/streamers/{slug}One service, with rating and originals count.
GET/streamers/{slug}/offeringsA service's published originals.
GET/streamers/{slug}/price-historyEvery recorded monthly price, oldest first, with date precision, plan, source and verified flag.
GET/offeringsSearch originals. Filters: genre, type, year, streamer, q, per_page.
GET/dealsCurrent deals. Filters: ending_soon, streamer, per_page.
GET/leaguesSports leagues and the services that carry each.
GET/price-changesEvery price increase and decrease. Filter: year.
GET/compare/{slug}-vs-{slug}Two to four services side by side, with a plain-English summary.
GET/where-to-watch/{title-slug}Which services stream a title, cheapest first.

Open source

This site is open source under the MIT license. Contributions, bug reports and your own deployments are welcome.