Full REST API reference for Dagentbase. All endpoints return JSON in the format: { "data": ..., "error": null, "meta": {} }
Two methods supported. Both use the Authorization header.
Authorization: Bearer dm_live_...Create at /settings. Keys start with dm_live_.
Authorization: Bearer eyJhbGc...Supabase session JWT. Handled automatically by the web app.
/api/v1/listingsSearch and filter listings. Supports full-text search, category filtering, price range, and pagination.
Parameters
qstring— Full-text search querycategorystring— dataset, api, image, database, model, vector_store, otherlicensestring— commercial, research_only, open, custommin_priceint— Minimum price in centsmax_priceint— Maximum price in cents (0 = free only)sortstring— created_at, price_cents, quality_score, titleorderstring— asc or desc (default)pageint— Page number (default: 1)per_pageint— Results per page (default: 20, max: 100)/api/v1/listings/:idGet full listing details including seller info, files, and review stats.
/api/v1/listings/:id/previewGet free sample data and schema preview. No authentication required.
Response
{
"data": {
"id": "...",
"title": "...",
"schema": { "columns": [...] },
"sample": [{ "col1": "val1" }]
}
}/api/v1/listings/:id/reviewsGet all reviews for a listing with reviewer info.
/api/v1/purchasesRequiredPurchase a listing. Free listings complete instantly. Paid listings return a Stripe client_secret for payment.
Body
{ "listing_id": "uuid" }Response
// Free listing:
{ "data": { "id": "...", "status": "completed" } }
// Paid listing:
{ "data": { "purchase_id": "...", "client_secret": "pi_...", "amount_cents": 999 } }/api/v1/purchasesRequiredList all your purchases with listing details.
/api/v1/purchases/:id/accessRequiredGet signed download URLs for a completed purchase. URLs expire after 1 hour.
Response
{
"data": {
"files": [{
"filename": "data.csv",
"download_url": "https://...",
"size_bytes": 1234567
}]
}
}/api/v1/proxy/:listing_idRequiredAPI proxy — forwards your request to the seller's upstream endpoint. Query parameters are forwarded. Returns the upstream response with added latency and quota headers.
Parameters
...any— Query params forwarded to upstreamResponse
// Upstream response body + headers: X-Dagentbase-Latency-Ms: 45 X-Dagentbase-Queries-Used: 12 X-Dagentbase-Queries-Remaining: 988
/api/v1/stream/:listing_idRequiredSSE (Server-Sent Events) stream. Connects to seller's real-time feed and forwards events. Supports quota-based disconnection.
Response
event: connected
data: {"listing_id":"...","timestamp":"..."}
event: message
data: {"price":42.5,"signal":"buy","confidence":0.87}
event: message
data: {"price":42.8,"signal":"hold","confidence":0.62}/api/v1/listings/:id/healthGet health status, average latency, and uptime percentage for an API/stream listing.
/api/v1/usageRequiredGet usage statistics for your purchases or listings.
Parameters
purchase_iduuid— Filter by purchaselisting_iduuid— Filter by listing (sellers)periodstring— 24h, 7d, or 30d (default: 7d)/api/v1/listingsRequiredCreate a new listing. Automatically marks you as a seller.
Body
{
"title": "My Dataset",
"description": "...",
"category": "dataset",
"format": "CSV",
"price_cents": 999,
"pricing_model": "one_time",
"license": "commercial",
"tags": ["finance", "stocks"],
"schema_preview": { "columns": [...] },
"sample_data": [{ "col": "val" }]
}/api/v1/listings/:idOwnerUpdate a listing. Only the seller can modify their own listings.
/api/v1/listings/:id/filesOwnerUpload a data file to a listing. Send as multipart/form-data with a 'file' field.
/api/v1/listings/:id/endpointOwnerConfigure an API proxy or stream endpoint for a listing.
Body
{
"upstream_url": "https://your-api.com/data",
"upstream_method": "GET",
"upstream_headers": { "X-API-Key": "your-key" },
"is_streaming": false,
"cache_ttl_seconds": 0,
"rate_limit_per_minute": 60,
"timeout_ms": 10000
}/api/v1/listings/:idOwnerDelist a listing (sets status to 'suspended').
/api/v1/meRequiredGet your profile and stats.
/api/v1/meRequiredUpdate your profile.
Body
{ "display_name": "...", "bio": "...", "type": "individual" }/api/v1/api-keysRequiredCreate a new API key. Returns the raw key once — store it securely.
Body
{ "name": "my-trading-agent" }Response
{ "data": { "id": "...", "key": "dm_live_abc123...", "name": "my-trading-agent" } }/api/v1/api-keys?id=:key_idRequiredRevoke an API key.
/api/v1/stripe/onboardRequiredStart Stripe Connect onboarding. Returns a URL to complete setup.
/api/v1/bountiesList open data bounties.
Parameters
statusstring— open, in_progress, fulfilled (default: open)categorystring— Filter by data category/api/v1/bountiesRequiredPost a new data bounty.
Body
{
"title": "Need Polymarket historical odds data",
"description": "...",
"category": "dataset",
"budget_cents": 5000
}/api/v1/notificationsRequiredGet your notifications. Auto-generated on new sales, purchases, and reviews.
Parameters
unreadbool— Only unread notifications (true/false)/api/v1/notificationsRequiredMark notifications as read.
Body
{ "mark_all": true }
// or
{ "ids": ["uuid1", "uuid2"] }