API Reference
Every endpoint with its limits and delivery formats, plus the OpenAPI 3.1 spec and the response schemas.
Getting Started
AuthenticationAPI key authentication via X-API-Key headerRate limitingPer-plan limits, 429 responses with Retry-AfterLimits & filteringdate_from / date_to / limit query params on list endpointsErrorsStandard error codes and messages (401, 403, 429)Embeddings API
GET /v1/embeddings/{ticker}Embedding vectors for a ticker. Requires fiscal_period=YYYY-Qn; limit 1 to 100GET /v1/transcripts/{ticker}List available transcript periods (fiscal_period, chunk_count) to discover values; limit 1 to 500Signals API
GET /v1/signals/{ticker}Quant signals, newest first. Filter with date_from / date_to (ISO YYYY-MM-DD, inclusive) and limit (1 to 365, default 30). Each record carries a 0-1 Piotroski score plus five component families: piotroski, altman_z, beneish_m, sloan_accrual, regime.Reference API
GET /v1/tickersList the tickers available to your plan: { tickers: [...], total: n }Delivery
REST APIJSON, all plans. Base URL: api.vectorfinancials.comGCS ParquetStarter+: raw parquet files pushed to your GCS bucketIceberg via PolarisPro+: Polaris REST catalog at catalog.vectorfinancials.comBigQuery Analytics HubPro+: shared datasets via Analytics HubSnowflake (preview)Pro+: native Iceberg tables in Snowflake via Polaris (work-in-progress preview)OpenAPI spec
The API follows the OpenAPI 3.1 specification. Point your client generator, Swagger UI, or Redoc at the machine-readable spec:
Download openapi.json
https://api.vectorfinancials.com/openapi.jsonResponse schemas
EmbeddingRecordtickerstringStock ticker symbol (e.g. AAPL)fiscal_periodstringFiscal quarter (e.g. 2024-Q3)chunk_idxintegerChunk index within the transcriptembeddingnumber[]768-dimensional embedding vector (gemini-embedding-2-preview)effective_tsstring (ISO 8601)When the data became effectiveknowledge_tsstring (ISO 8601)When VectorFin ingested this datamodel_versionstringEmbedding model used (e.g. gemini/gemini-embedding-2-preview)SignalRecordtickerstringStock ticker symboldatestring (YYYY-MM-DD)Signal datescorenumberPiotroski F-Score as a 0-1 fraction (count of 9 positives divided by 9)componentsobjectFive signal families: piotroski / altman_z / beneish_m / sloan_accrual / regime (see below)components.piotroskiobject9 booleans; F-Score = count of true: positive_ni, positive_ocf, roa_increasing, ocf_gt_ni, leverage_decreasing, current_ratio_increasing, no_dilution, gross_margin_increasing, asset_turnover_increasing (each boolean | null)components.altman_zobject{ score: number, zone: safe|grey|distress, components: { x1..x5: number } }. Bankruptcy distress.components.beneish_mobject{ score: number, flag: boolean }. M-Score with an earnings-manipulation risk flag.components.sloan_accrualobject | null{ ratio: number, quality: high|medium|low }. Accrual ratio and earnings quality; the whole object may be null when inputs are unavailable.components.regimeobject{ current, confidence }. HMM market regime.components.regime.currentstring | nullbull | bear | sideways | null (null when the regime cannot be determined)components.regime.confidencenumber | nullModel confidence (0 to 1) in the current regimeeffective_tsstring (ISO 8601)When the data became effectiveknowledge_tsstring (ISO 8601)When VectorFin computed this signal (bitemporal: latest per (ticker, date) is current view)