Duckdns APIdshdaaf.duckdns.org ↗
Access BP's full music label catalog via API. Returns label names, slugs, release counts, and sync timestamps in a single paginated response.
What is the Duckdns API?
The BP Music Catalog API exposes 5 fields per label record — id, name, slug, last_synced, and release_count — across the complete catalog in a single call. The list_catalog endpoint returns all labels at once with a top-level total count, making it straightforward to build label directories, audit sync status, or track how many releases each label has in the system.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/f4c270a6-ce63-4369-bd3b-26e2a4b1cc96/list_catalog' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace dshdaaf-duckdns-org-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: BP Catalog SDK — bounded, re-runnable; every call capped."""
from parse_apis.dshdaaf_duckdns_org_api import BPCatalog, ParseError
client = BPCatalog()
# List all labels in the catalog, capped at 5 for demonstration.
for label in client.labels.list(limit=3):
print(label.name, label.release_count, label.slug)
# Grab the first label for inspection.
first = client.labels.list(limit=1).first()
try:
detail = client.labels.list(limit=1).first()
print(detail.name, detail.id, detail.last_synced)
except ParseError as e:
print(f"error: {e.code}")
print("exercised: labels.list")
Retrieve all music labels in the catalog. Each label includes its name, slug, last sync timestamp, and total release count. Results are returned in a single page (the source provides all labels in one response).
No input parameters required.
{
"type": "object",
"fields": {
"items": "array of label objects with id, name, slug, last_synced, and release_count",
"total": "total number of labels returned"
},
"sample": {
"data": {
"items": [
{
"id": "131706",
"name": "1001 Recordings",
"slug": "1001-recordings",
"last_synced": "2026-07-23T18:55:43.997Z",
"release_count": 15
},
{
"id": "56958",
"name": "Afterlife Records",
"slug": "afterlife-records",
"last_synced": "2026-07-23T18:55:46.143Z",
"release_count": 112
}
],
"total": 63
},
"status": "success"
}
}About the Duckdns API
What the API Returns
The single list_catalog endpoint returns the full BP music label catalog in one response. Each object in the items array includes a unique id, a human-readable name, a URL-friendly slug, a last_synced timestamp indicating when the label's data was last updated, and a release_count integer showing how many releases are associated with that label. A top-level total field confirms the number of label records returned.
Endpoint Behavior
list_catalog takes no input parameters. The response always includes the complete set of labels — there is no cursor, offset, or page parameter. This means one request is sufficient to retrieve the entire label index, which is useful for local caching or bulk processing workflows.
Data Shape and Coverage
The response is flat: one array of label objects, each self-contained. The last_synced field is useful for detecting stale labels or building incremental sync logic on the client side. The release_count reflects the total releases attributed to each label in the catalog, not filtered by date, format, or genre.
The Duckdns API is a managed, monitored endpoint for dshdaaf.duckdns.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when dshdaaf.duckdns.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official dshdaaf.duckdns.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a searchable label directory using name and slug fields from list_catalog
- Monitor sync freshness by sorting labels by last_synced timestamp
- Rank labels by release volume using the release_count field
- Detect labels with zero releases to flag inactive catalog entries
- Populate a label autocomplete or lookup tool using id and name pairs
- Export a full label inventory for offline analysis or reporting
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.