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 returns429withRetry-After. - List endpoints are paginated:
per_pageup to 100, andpage. 401an invalid key was sent (or a key is required),404not found,422invalid parameter (details inerrors),503API 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
| Method | Path | Description |
|---|---|---|
| GET | /openapi.json | The OpenAPI 3.1 description of this API. |
| GET | /me | Confirms your key works and shows your rate limit (needs a key). |
| GET | /streamers | List 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}/offerings | A service's published originals. |
| GET | /streamers/{slug}/price-history | Every recorded monthly price, oldest first, with date precision, plan, source and verified flag. |
| GET | /offerings | Search originals. Filters: genre, type, year, streamer, q, per_page. |
| GET | /deals | Current deals. Filters: ending_soon, streamer, per_page. |
| GET | /leagues | Sports leagues and the services that carry each. |
| GET | /price-changes | Every 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.