Catalog

API

Base URL: https://data-marketplace-data.bakosbence.com

You get an API key after the order is confirmed. Send it on every request:

Authorization: Bearer mk_…

A missing or invalid key returns 401.

Access levels

Access is per dataset.

Level Latest data (GET /v1/data/{site_id}) History (GET /v1/data/{site_id}/historic)
snapshot The scrape from when you purchased. Newer and older scrapes are not included. Available only when include_historic=true is enabled.
weekly The latest scrape. Available only when include_historic=true is enabled.

GET /v1/data (all datasets at once) always returns the latest scrape you are allowed for each dataset. For full history, call /v1/data/{site_id}/historic for each dataset where include_historic=true.

Response rows

JSON responses are an array of rows. Each row wraps one scraped item:

{
  "site_id": "B-026",
  "scrape_id": "2026-08-12T04-00-00Z",
  "schema_id": "fashion_listing",
  "scraped_at": "2026-08-12T04:00:00+00:00",
  "payload": { }
}
Field Type Meaning
site_id string Dataset id (for example B-026)
scrape_id string Id of the scrape this row came from
schema_id string Kind of item (fashion_listing, rfp, job, and others)
scraped_at string When that scrape ran (ISO-8601 UTC)
payload object The item itself. Fields differ by dataset and schema_id; extra keys are normal.

One request returns every row. There is no pagination.

Schemas

Each row’s payload follows the dataset’s schema_id.

Category Code Schema
Fashion fashion_listing JSON Schema
Procurement rfp JSON Schema
Real estate real_estate JSON Schema
Jobs job JSON Schema
E-commerce ecommerce JSON Schema
Auto auto_classified JSON Schema
B2B b2b JSON Schema
Travel travel_events JSON Schema
Unknown generic JSON Schema

JSON and CSV

Data endpoints accept ?format=json (default) or ?format=csv.

format Content-Type Body
json application/json JSON array of rows
csv text/csv; charset=utf-8 Columns site_id,scrape_id,schema_id,scraped_at,payload. The payload column is the item encoded as a JSON string.

Rate limits

Limits apply per API key.

Limit Amount
Requests 60 per hour

Going over a limit returns 429:

{"detail": "Hourly rate limit exceeded"}

Hours and days are UTC.

Errors

Errors are JSON:

{"detail": "No entitlement for site"}
Status Meaning
401 Missing or invalid API key
403 Access disabled, dataset not in your access, access expired, or historic requested without include_historic=true
404 No downloadable scrape yet
422 Invalid query parameter (for example format is not json or csv)
429 Hourly request limit or daily large-download limit

GET /v1/sites — list your datasets

GET /v1/sites is JSON only.

Lists the datasets in your access.

curl -sS -H "Authorization: Bearer $API_KEY" \
  "https://data-marketplace-data.bakosbence.com/v1/sites"
{
  "sites": [
    {
      "site_id": "B-026",
      "name": "Example Boutique",
      "access_level": "weekly",
      "include_historic": false,
      "frozen_scrape_id": null,
      "expires_at": null
    },
    {
      "site_id": "B-001",
      "name": "Example Fashion",
      "access_level": "snapshot",
      "include_historic": true,
      "frozen_scrape_id": "2026-08-01T04-00-00Z",
      "expires_at": "2026-08-20T00:00:00+00:00"
    }
  ]
}
Field Meaning
access_level snapshot or weekly
include_historic true if historic is enabled for this dataset
frozen_scrape_id For snapshot, the scrape you purchased. Otherwise null.
expires_at When this dataset access ends (ISO-8601), or null if it does not expire

GET /v1/data/{site_id} — latest scrape

The latest scrape you are allowed to download for that dataset.

curl -sS -H "Authorization: Bearer $API_KEY" \
  "https://data-marketplace-data.bakosbence.com/v1/data/B-026"
curl -sS -H "Authorization: Bearer $API_KEY" \
  "https://data-marketplace-data.bakosbence.com/v1/data/B-026?format=csv" \
  -o B-026.csv
Status When
403 This dataset is not in your access, or access has expired
404 Access is valid, but no scrape is available yet

GET /v1/data/{site_id}/historic — historic datasets

Every scrape included when include_historic=true for that dataset, oldest first.

curl -sS -H "Authorization: Bearer $API_KEY" \
  "https://data-marketplace-data.bakosbence.com/v1/data/B-026/historic"
Status When
403 Historic requested without include_historic=true, the dataset is not in your access, or access has expired
404 No scrapes are available yet

The same listing can appear more than once if it did not change between scrapes.

GET /v1/data — latest scrape, all datasets

The latest allowed scrape for every dataset in your access, in one JSON array or one CSV file.

curl -sS -H "Authorization: Bearer $API_KEY" \
  "https://data-marketplace-data.bakosbence.com/v1/data"
curl -sS -H "Authorization: Bearer $API_KEY" \
  "https://data-marketplace-data.bakosbence.com/v1/data?format=csv" \
  -o all.csv

This does not include historic history. Call /v1/data/{site_id}/historic for datasets where include_historic=true.

Support

Any questions?

Email info@bakosbence.com.

Please write from a company-specific email address, or include an order identifier you received in email. Include the endpoint or the dataset you have a problem with.

Catalog