Catalog

API documentation

Download the datasets included in your access.

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. Not available (403)
weekly The latest scrape. Not available (403)
archive The latest scrape. Every scrape in your access, oldest first

GET /v1/data (all datasets at once) always returns the latest scrape you are allowed for each dataset. For full history, call /historic on each archive dataset.

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.

GET /v1/sites is JSON only.

GET /v1/sites — list your datasets

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",
      "frozen_scrape_id": null,
      "expires_at": null
    },
    {
      "site_id": "B-001",
      "name": "Example Fashion",
      "access_level": "snapshot",
      "frozen_scrape_id": "2026-08-01T04-00-00Z",
      "expires_at": "2026-08-20T00:00:00+00:00"
    }
  ]
}
Field Meaning
access_level snapshot, weekly, or archive
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

For archive, this still returns only the latest scrape. Use /historic for the full archive.

GET /v1/data/{site_id}/historic — archive history

Every scrape included with archive access 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 Your access for this dataset is not archive, 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 archive history. Call /v1/data/{site_id}/historic for that.

Rate limits

Limits apply per API key.

Limit Amount
Requests 60 per hour
Large downloads 10 per calendar day

A response counts as a large download when the body is 1 MiB or larger (1,048,576 bytes). GET /v1/sites counts only toward the hourly request limit.

Going over a limit returns 429:

{"detail": "Hourly rate limit exceeded"}
{"detail": "Daily large-download 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 archive
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

Support

Email info@bakosbence.com.

Please write from a company-specific email address, or include an order identifier you received in your order confirmation email.