Base URL: https://rekkit.pages.dev
The Rekkit API is free, public, and requires no authentication. All endpoints are read-only (GET).
curl https://rekkit.pages.dev/api/hubs?limit=5
Response:
{
"total": 84,
"limit": 5,
"offset": 0,
"hubs": [
{
"slug": "edge-of-your-seat-thrillers",
"title": "Edge-of-Your-Seat Thrillers",
"subreddit": "MovieSuggestions",
"title_count": 42,
"types": ["movie"]
},
...
]
}
All responses include CORS headers — you can call the API directly from the browser.
Returns service status and version. Also available at /.
{
"service": "rekkit",
"version": "0.3.0",
"status": "ok"
}
List all recommendation hubs with pagination and optional filtering.
| Param | Type | Default | Description |
|---|---|---|---|
subreddit | string | — | Filter by subreddit name (case-insensitive) |
type | string | — | Filter by title type: movie, tv, podcast, music |
limit | number | 50 | Results per page (max 100) |
offset | number | 0 | Number of results to skip |
curl "https://rekkit.pages.dev/api/hubs?subreddit=MovieSuggestions&limit=2"
{
"total": 28,
"limit": 2,
"offset": 0,
"hubs": [
{
"slug": "edge-of-your-seat-thrillers",
"title": "Edge-of-Your-Seat Thrillers",
"subreddit": "MovieSuggestions",
"title_count": 42,
"types": ["movie"]
},
{
"slug": "movies-that-haunt-you-for-weeks",
"title": "Movies That Haunt You for Weeks",
"subreddit": "MovieSuggestions",
"title_count": 38,
"types": ["movie"]
}
]
}
The type filter matches hubs that contain titles of that type. A hub may include multiple types (e.g. both movie and tv).
Get full details for a hub, including its titles array.
| Param | Type | Description |
|---|---|---|
:slug | string | Hub slug (lowercase, hyphenated) |
| Param | Type | Default | Description |
|---|---|---|---|
type | string | — | Filter titles: movie, tv, podcast, music |
curl https://rekkit.pages.dev/api/hubs/edge-of-your-seat-thrillers
{
"slug": "edge-of-your-seat-thrillers",
"title": "Edge-of-Your-Seat Thrillers",
"description": "Heart-pounding thrillers recommended by r/MovieSuggestions",
"subreddit": "MovieSuggestions",
"thread_url": "https://reddit.com/r/MovieSuggestions/...",
"titles": [
{
"name": "Sicario",
"type": "movie",
"year": 2015,
"rating": 7.6,
"poster": "https://image.tmdb.org/..."
},
...
]
}
The titles array contains the full recommendation list. Use the type query param to filter it server-side.
Get a sorted list of all unique subreddits that have hubs.
{
"subreddits": [
"MovieSuggestions",
"ifyoulikeblank",
"musicsuggestions",
"podcasts",
"televisionsuggestions"
]
}
Get aggregate statistics about the Rekkit dataset.
{
"total_hubs": 84,
"total_titles": 2847,
"subreddits": 5
}
All errors return JSON with an error field.
| HTTP | Response | Description |
|---|---|---|
| 404 | {"error": "Hub not found"} | Hub slug does not exist |
| 404 | {"error": "Not found"} | Unknown endpoint |
| 405 | {"error": "Method not allowed"} | Only GET requests are supported |
The API is read-only. All endpoints accept only GET requests. OPTIONS is handled for CORS preflight.