Market data · deployment planning

REST Price Feed API

REST works well for on-demand snapshots, reference metadata and range-based history when clients understand caching and observation age.

Response semantics

Distinguish the response creation time from the market observation time. Define status and error fields for missing or stale instruments, and document whether a successful batch response can contain per-symbol failures.

Consumer efficiency

Agree batching, pagination, rate limits and retry behavior. Conditional or cached responses can reduce traffic where supported, but cache duration must match the product's freshness requirement rather than an arbitrary polling interval.

Requirements to confirm

  • Observation and response timestamps
  • Per-symbol errors and status
  • Batching and pagination
  • Caching and retry policy

Bring the proposed instrument list, source documentation and consumer workflow to a technical discussion. The agreed integration specification defines coverage, fields, usage permissions and acceptance tests.

Integration brief

REST Price Feed API: what to agree before connecting

Resource scopeConfirm whether a request returns latest quotes, instrument metadata, candles or raw ticks.
Time semanticsSpecify source time, requested interval boundaries, timezone and ordering.
Response contractDefine field types, missing-value handling, pagination and error responses.
Usage limitsConfirm authentication, rate limits, retry guidance and permitted retention.

Make request results reproducible

A REST workflow for your instrument universe should identify the timestamp of the returned observation and distinguish missing data from an empty result. If streaming is also used, establish how a snapshot aligns with the subsequent updates before combining the two views.

What to test

  • Request an unknown symbol and inspect the agreed error response.
  • Repeat a historical query and check stable boundaries and ordering.
  • Align a returned snapshot with the streaming state where both are used.
{
  "type": "quote",
  "symbol": "EURUSD",
  "bid": "1.10000",
  "ask": "1.10010",
  "source_time": "2026-10-18T12:00:00.000Z",
  "received_at": "2026-10-18T12:00:00.012Z",
  "source_id": "example-source",
  "status": "illustrative"
}

Illustrative engineering example, not live prices or a published API contract. Confirm field names and delivery rules during integration.

Related integration workflows

Compare delivery contracts and the requirements of connected consumers.

Find your market-data solution