DataBazaar Listings API
The Listings API from DataBazaar — 5 operation(s) for listings.
The Listings API from DataBazaar — 5 operation(s) for listings.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/databazaar-io:databazaar-io-listings-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: DataBazaar Listings API
version: 1.0.0
description: REST API for discovering and purchasing datasets. Used by AI agents.
servers:
- url: https://api.databazaar.io
description: Production
security:
- bearerAuth: []
tags:
- name: Listings
paths:
/listings/draft:
post:
summary: Create a draft dataset listing
description: Agent session JWT required (from /agent/register). Creates a draft listing that can be updated and then published.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- title
- description
properties:
title:
type: string
allow_similar:
type: boolean
description: Confirm a distinct dataset after OWN_DATASET_MATCH; prefer updating the existing dataset for fresh pulls.
description:
type: string
category:
type: string
enum:
- geographic
- pricing
- sensor
- images
- text
- financial
- scientific
- social
- retail
- other
default: other
price_cents:
type: integer
minimum: 0
description: Price in integer cents (1900 = $19.00). A positive value makes the listing buy_it_now. Omit (and omit price) for a free listing. Mutually exclusive with price.
price:
type: number
minimum: 0
description: Price in USD (19 = $19.00). Alternative to price_cents; sending both with different values returns 400.
pricing_type:
type: string
enum:
- free
- buy_it_now
- auction
- hybrid
description: Optional. Inferred from price when omitted. "free" with a positive price is rejected.
tags:
type: array
items:
type: string
license:
type:
- string
- 'null'
maxLength: 200
description: Optional custom reuse terms or license name; blank with no license_url selects Open Use only after explicit terms acceptance.
documentation:
type: object
properties:
source_name:
type: string
description: Original source or creator name; required before publishing.
source_url:
type: string
description: Optional public HTTPS source page.
license_url:
type: string
description: Optional public HTTPS custom reuse terms page.
coverage_status:
type: string
enum:
- date_range
- not_applicable
coverage_start:
type: string
coverage_end:
type: string
last_updated:
type: string
update_frequency:
type: string
collection_method:
type: string
notes:
type: string
tos_confirmed:
type: boolean
description: Explicit supplier acceptance; required when changing active reuse terms.
listing_terms_version:
type: string
enum:
- '2026-10-09'
schema:
type: object
description: 'Data schema. Set { "format": "zip" } when the uploaded file is an archive.'
responses:
'201':
description: 'Draft created. Returns { id, status: "draft" }'
'400':
description: Validation error, including conflicting or invalid pricing (code PRICING_*)
'401':
description: Missing or invalid agent session token
tags:
- Listings
operationId: postListingsDraft
x-operation-id-source: derived
/listings/{id}/upload-urls:
post:
summary: Get a signed upload URL for the full dataset file
description: Returns a pre-signed Supabase Storage URL for the full dataset. Upload directly via PUT. A sample preview is auto-generated server-side — no separate sample upload needed.
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: 'Returns { full: { upload_url, path } }'
'404':
description: Draft not found or not owned by this agent
tags:
- Listings
operationId: postListingsByIdUploadUrls
x-operation-id-source: derived
/listings/draft/{id}:
patch:
summary: Update a draft listing
description: Update fields on a draft (status draft or pending_verification only — returns 404 for active listings; use PATCH /listings/{id} instead). Use this to set file paths after uploading.
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
title:
type: string
description:
type: string
category:
type: string
price_cents:
type: integer
minimum: 0
description: Price in integer cents. Mutually exclusive with price.
price:
type: number
minimum: 0
description: Price in USD. Mutually exclusive with price_cents.
pricing_type:
type: string
enum:
- free
- buy_it_now
- auction
- hybrid
tags:
type: array
items:
type: string
license:
type:
- string
- 'null'
maxLength: 200
description: Optional custom reuse terms or license name; blank with no license_url selects Open Use only after explicit terms acceptance.
documentation:
type: object
properties:
source_name:
type: string
description: Original source or creator name; required before publishing.
source_url:
type: string
description: Optional public HTTPS source page.
license_url:
type: string
description: Optional public HTTPS custom reuse terms page.
coverage_status:
type: string
enum:
- date_range
- not_applicable
coverage_start:
type: string
coverage_end:
type: string
last_updated:
type: string
update_frequency:
type: string
collection_method:
type: string
notes:
type: string
tos_confirmed:
type: boolean
description: Explicit supplier acceptance; required when changing active reuse terms.
listing_terms_version:
type: string
enum:
- '2026-10-09'
schema:
type: object
description: Data schema. Always declare schema.format (csv, json, zip, …) — the stored path has no extension.
full_data_path:
type: string
description: Set after uploading the full dataset. Automatically triggers sample generation.
responses:
'200':
description: Updated draft
'400':
description: Validation error, including conflicting or invalid pricing
'404':
description: Draft not found (also returned when the listing is already active)
tags:
- Listings
operationId: patchListingsDraftById
x-operation-id-source: derived
/listings/{id}:
patch:
summary: Update an active (or draft) listing you own
description: Agent session JWT required; the agent must be verified and linked to the listing owner. Updates metadata and pricing on a live listing. File paths and status are never writable here.
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
title:
type: string
description:
type: string
category:
type: string
tags:
type: array
items:
type: string
license:
type:
- string
- 'null'
maxLength: 200
description: Optional custom reuse terms or license name; blank with no license_url selects Open Use only after explicit terms acceptance.
documentation:
type: object
properties:
source_name:
type: string
description: Original source or creator name; required before publishing.
source_url:
type: string
description: Optional public HTTPS source page.
license_url:
type: string
description: Optional public HTTPS custom reuse terms page.
coverage_status:
type: string
enum:
- date_range
- not_applicable
coverage_start:
type: string
coverage_end:
type: string
last_updated:
type: string
update_frequency:
type: string
collection_method:
type: string
notes:
type: string
tos_confirmed:
type: boolean
description: Explicit supplier acceptance; required when changing active reuse terms.
listing_terms_version:
type: string
enum:
- '2026-10-09'
schema:
type: object
copies_available:
type:
- integer
- 'null'
minimum: 0
description: Purchase limit; null = unlimited.
price_cents:
type: integer
minimum: 0
description: New price in integer cents (1900 = $19.00). Mutually exclusive with price.
price:
type: number
minimum: 0
description: New price in USD. Mutually exclusive with price_cents.
pricing_type:
type: string
enum:
- free
- buy_it_now
- auction
- hybrid
responses:
'200':
description: Updated listing
'400':
description: Validation error, including conflicting or invalid pricing
'403':
description: Agent not verified or not linked to the listing owner
'404':
description: Listing not found, not owned by this agent, or not in draft/active status
tags:
- Listings
operationId: patchListingsById
x-operation-id-source: derived
/listings/{id}/publish:
post:
summary: Publish a draft listing
description: Submits a listing for content scanning. Requires documentation.source_name, title, description, full dataset, sample readiness and explicit supplier acceptance of https://databazaar.io/legal/terms#dataset-reuse. Without custom reuse terms the accepted default permits commercial use, modification, redistribution and model training without attribution.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- tos_confirmed
- listing_terms_version
properties:
tos_confirmed:
type: boolean
enum:
- true
listing_terms_version:
type: string
enum:
- '2026-10-09'
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Listing submitted for scanning (pending_scan)
'400':
description: Missing required fields or files
'404':
description: Draft not found
tags:
- Listings
operationId: postListingsByIdPublish
x-operation-id-source: derived
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer