Documentation Index
Fetch the complete documentation index at: https://docs.ostdb.net/llms.txt
Use this file to discover all available pages before exploring further.
GET /api/v1/soundtracks
Returns soundtracks from the database. Results are paginated.
curl "https://api.ostdb.net/api/v1/soundtracks" \
-H "Authorization: Bearer YOUR_API_KEY"
Query Parameters
| Parameter | Type | Default | Description |
|---|
offset | integer | 0 | Number of records to skip |
limit | integer | 50 | Number of records to return (max 50) |
Response
{
"data": [
{
"game_igdb_id": 1234,
"game_name": "The Legend of Zelda",
"album_name": "Original Soundtrack",
"spotify_album_id": "abc123",
"spotify_url": "https://open.spotify.com/album/abc123",
"cover_url": "https://...",
"artists": ["Koji Kondo"]
}
],
"pagination": {
"offset": 0,
"limit": 50,
"returned": 50,
"next_offset": 50
}
}
When next_offset is null, there are no more pages.
Pagination Example
# First page
curl "https://api.ostdb.net/api/v1/soundtracks?offset=0&limit=50" \
-H "Authorization: Bearer YOUR_API_KEY"
# Next page
curl "https://api.ostdb.net/api/v1/soundtracks?offset=50&limit=50" \
-H "Authorization: Bearer YOUR_API_KEY"
GET /v1/soundtracks?igdb_id=:id
Search by IGDB game ID.
curl "https://api.ostdb.net/api/v1/soundtracks?igdb_id=1234" \
-H "Authorization: Bearer YOUR_API_KEY"
GET /v1/soundtracks?name=:query
Search by game name. Case-insensitive, partial match supported.
curl "https://api.ostdb.net/api/v1/soundtracks?name=zelda" \
-H "Authorization: Bearer YOUR_API_KEY"
Error Responses
| Status | Meaning |
|---|
401 | Missing or invalid API key |
404 | No results found |
409 | API key for this user already exists |
429 | Rate limit exceeded |
500 | Server error |