Skip to main content
The David API is a REST API that returns JSON. Every endpoint is scoped to a scenario and reads like a conventional market-data API.
Each example shows cURL and Python. The Python tab uses the official SDK and assumes a configured client: from david_data import DavidData; dd = DavidData().

Base URL

All requests go to this host over HTTPS.

Authentication

Send your key in the X-API-KEY header on every request. See Authentication.

The scenario_id parameter

Almost every data endpoint requires a scenario_id query parameter identifying the world to read from. David generates and curates the scenarios; obtain a scenario_id by listing scenarios.

Response shape

Responses are JSON objects keyed by the resource name, with the payload as a list or object:
List endpoints return their rows under a named key (prices, news, financials, companies, …). Detail endpoints return a single named object.

Shared query parameters

See Date semantics for how dates and visibility work.

Pagination

List endpoints page with limit and offset. To walk a full result set, increase offset by limit until a short page returns:

Rate limits & errors

Every response carries X-RateLimit-Limit, X-RateLimit-Remaining, and X-Account-ID. See Errors & rate limits for status codes and handling.

Endpoint groups

Scenarios

Company

Prices

Financial statements

Financial metrics

Search & screener

Earnings

KPIs & guidance

Analyst estimates

News & notes

SEC filings

Insider trades

Institutional holdings

Index funds

Macro & rates

Corporate actions

Events