Skip to content

Evidence export for a company

POST
/api/b2b/evidence/enriched
curl --request POST \
--url https://api.stockalloy.com/api/b2b/evidence/enriched \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "ticker": "DECK", "metric_id": "us-gaap#RevenueFromContractWithCustomerExcludingAssessedTax" }'

Returns the full evidence record behind every verified fact of a company: source snippet, locator type, HTML highlight offsets, section title, and viewer/filing/document URLs. Optionally filter by metric_id.

Media typeapplication/json
object
ticker

Stock ticker, e.g. DECK.

string
cik

Zero-padded 10-digit SEC CIK, e.g. 0001011570.

string
tickers

Company set (search endpoints only).

Array<string>
ciks

Company set (search endpoints only).

Array<string>
metric_id

Optional XBRL metric ID filter, e.g. us-gaap#Revenues. Facts endpoints require a single-company scope (ticker or cik).

string
Example
{
"ticker": "DECK",
"metric_id": "us-gaap#RevenueFromContractWithCustomerExcludingAssessedTax"
}

Evidence rows, newest filing first.

Media typeapplication/json
object
scope
required
string
Allowed value: company
ticker
string | null
cik
required
string
metric_id

Echoes the request filter.

string | null
count
required
integer
rows
required
Array<object>
object
evidence_key
string
cik
string
source_accession
string
source_form_type
string | null
source_is_amendment
boolean | null
source_filed_at
string format: date
filing_url

Filing viewer URL (whole document).

string | null
document_url

Original SEC source document URL.

string | null
evidence_url

Redirects to the filing with the figure highlighted.

string | null
viewer_url

Direct viewer URL with highlight offsets applied (HTML-sourced evidence).

string | null
snippet_text
string | null
locator_type

html, ixbrl, or xbrl.

string | null
html_start_offset
integer | null
html_end_offset
integer | null
document_name
string | null
document_sequence
string | null
section_title
string | null
highlight_payload_json

Machine-readable locator payload (locator type, offsets, table fingerprint, row/column indexes, iXBRL node/context references).

object | null
Example
{
"scope": "company"
}
X-RateLimit-Limit
integer

Requests allowed per minute for this key.

X-RateLimit-Remaining
integer

Requests remaining in the current minute window.

X-RateLimit-Reset
integer

Unix timestamp (seconds) when the window resets.

Invalid request — missing/invalid fields, malformed JSON, or an unsupported scope combination.

Media typeapplication/json
object
error
required

Human-readable error message.

string
Example
{
"error": "query is required"
}

Missing or invalid API key.

Media typeapplication/json
object
error
required

Human-readable error message.

string
Example
{
"error": "API key required"
}

Key revoked/disabled/expired, account disabled, key not entitled for this product, or cross-company search not enabled for this key.

Media typeapplication/json
object
error
required

Human-readable error message.

string
Example
{
"error": "API key has expired"
}

Company not found (unknown ticker or CIK).

Media typeapplication/json
object
error
required

Human-readable error message.

string
Example
{
"error": "Unknown ticker: ZZZZ"
}

Rate limit exceeded (per-minute) or quota exceeded (daily/monthly, account-level or per-key). Distinguish by body shape.

Media typeapplication/json
One of:
object
error
required
string
Allowed value: Rate limit exceeded
retryAfter
required

Seconds until the window resets.

integer
limit
required

Requests allowed per minute for this key.

integer
windowMs
required
integer
Allowed value: 60000
Examples

Per-minute rate limit

{
"error": "Rate limit exceeded",
"retryAfter": 31,
"limit": 60,
"windowMs": 60000
}
X-RateLimit-Limit
integer

Requests allowed per minute for this key.

X-RateLimit-Remaining
integer

Requests remaining in the current minute window.

X-RateLimit-Reset
integer

Unix timestamp (seconds) when the window resets.

Retry-After
integer

Seconds to wait before retrying (429 only).

Unexpected server error.

Media typeapplication/json
object
error
required

Human-readable error message.

string
Example
{
"error": "Facts lookup failed"
}

The verified-facts backend is temporarily unavailable. Transient — retry with backoff. This is an infrastructure condition, not a data gap.

Media typeapplication/json
object
error
required

Human-readable error message.

string
Example
{
"error": "Facts backend unavailable"
}