Skip to main content

Response Format

All API responses follow a consistent JSON envelope structure.

Success response (list)

{
"success": true,
"data": [
{ "id": 12345, "owner": "John Smith", "current_amount": 15432.50, "..." : "..." }
],
"pagination": {
"total": 8423,
"limit": 20,
"offset": 0,
"has_more": true
},
"meta": {
"request_id": "req_a1b2c3d4",
"tier": "pro",
"rate_limit_remaining": 4823
}
}

Success response (single item)

{
"success": true,
"data": {
"id": 12345,
"owner": "John Smith",
"current_amount": 15432.50
},
"meta": {
"request_id": "req_a1b2c3d4",
"tier": "pro",
"rate_limit_remaining": 4822
}
}

Error response

{
"success": false,
"error": {
"code": "invalid_parameter",
"message": "Parameter 'limit' must be between 1 and 100"
},
"meta": {
"request_id": "req_a1b2c3d4"
}
}

Envelope fields

FieldTypeDescription
successbooleantrue if the request succeeded
dataobject or arrayThe response payload. Array for list endpoints, object for single-item endpoints.
paginationobjectPresent on list endpoints. Contains total, limit, offset, has_more.
pagination.totalintegerTotal number of records matching the filters
pagination.limitintegerNumber of records returned in this response
pagination.offsetintegerNumber of records skipped
pagination.has_morebooleantrue if more records exist beyond current page
metaobjectRequest metadata
meta.request_idstringUnique identifier for this request (useful for support)
meta.tierstringYour current API tier (free, pro, or enterprise)
meta.rate_limit_remainingintegerRequests remaining in your daily quota
errorobjectPresent only on error responses
error.codestringMachine-readable error code
error.messagestringHuman-readable error description

HTTP status codes

CodeMeaning
200Success
400Bad request — invalid parameters
401Unauthorized — missing or invalid API key
404Not found — resource doesn't exist
429Rate limited — daily quota exceeded
500Server error — try again or contact support

Rate limit headers

Every response includes these headers:

HeaderDescription
X-RateLimit-LimitYour daily request quota
X-RateLimit-RemainingRequests remaining today
X-RateLimit-ResetUnix timestamp when the limit resets (midnight UTC)
Retry-AfterSeconds until reset (only on 429 responses)

Pagination

Use limit and offset query parameters to paginate through results:

# Page 1 (first 20 results)
GET /v1/filings?limit=20&offset=0

# Page 2
GET /v1/filings?limit=20&offset=20

# Page 3
GET /v1/filings?limit=20&offset=40

Maximum limit is 100. Default is 20.