Skip to main content

API Reference Overview

All endpoints are prefixed with:

https://api.valcr.site/data/v1

Authentication

Every request requires:

Authorization: Bearer vcr_live_your_key_here

See Authentication for the full security model.


Response format

All responses are application/json. Successful responses (2xx) return the resource directly. Error responses always include:

{
"detail": "Human-readable error description",
"code": "machine.readable_code",
"status": 403
}

Standard query parameters

ParameterTypeDescription
categorystringMarket category: ecommerce, saas, marketplace, retail, fintech
segmentstringSub-segment within a category
periodstringTime period: 2024-Q4, 2024, last_30_days
formatstringResponse format where supported: json, pdf, xbrl

HTTP methods

MethodUsage
GETRead data — safe, idempotent
POSTCreate or trigger an action
PATCHPartial update
DELETERemove a resource

Status codes

CodeMeaningAction
200OK
201Created
400Bad requestCheck query parameters
401UnauthorizedCheck API key
402Payment requiredQuota exhausted, billing triggered
403ForbiddenKey lacks required scope
404Not foundResource does not exist
422Validation errorCheck request body
429Rate limitedWait for Retry-After seconds
500Server errorRetry with exponential backoff

Available endpoints

GroupScope requiredEndpoints
Benchmarksbenchmarks:read/benchmarks, /benchmarks/percentile, /benchmarks/distribution, /benchmarks/history
Segmentssegments:read/segments, /segments/breakdown
Merchantmerchant:read / write/merchant/vcfs, /merchant/score, /merchant/insights, /merchant/compare
XBRL Exportexport:read/export/xbrl
HealthNone/health

Pagination

List endpoints that return multiple items support cursor-based pagination:

GET /benchmarks/history?category=ecommerce&limit=10&cursor=eyJpZCI6IjEwMCJ9

Response includes:

{
"items": [...],
"next_cursor": "eyJpZCI6IjExMCJ9",
"has_more": true
}

Pass next_cursor as cursor in the next request. When has_more is false, you've reached the end.


CORS

The Data API does not support browser-side requests. All calls must originate from a server with a valid API key. CORS headers are not included in responses by design.