Skip to main content
Conduit computes a set of derived datasets on top of its official-source observations and stores the results. Derived analytics include surprise indices, rates analytics, and curve spreads. Two endpoints expose them:

Derived indicators

GET /v1/derived-indicators is the catalog of derived datasets, each with a methodology version and formula visibility.

Derived observations

GET /v1/derived-observations returns the stored derived values, each carrying its input observation ids and source references.
These endpoints retrieve stored derived values. They return precomputed results, not an on-the-fly calculator. Every derived value records the exact inputs and sources it was computed from, so the result stays auditable.

How derived analytics work

Conduit ingests official observations (CPI prints, yields, FX reference rates), then a derivation step computes higher-level datasets and persists them. Because the result is stored:
  • Reads are fast and stable. You retrieve a value, you do not trigger a computation.
  • Each value is reproducible. The inputObservationIds tell you exactly which underlying observations fed it, and sourceRefs records the source references behind those inputs.
  • The methodology is versioned. Each derived indicator carries a methodologyVersion and a formulaVisibility flag.

List derived indicators

The catalog tells you which derived datasets exist and how transparent each formula is.
limit
integer
default:"100"
Page size, 1 to 500.
cursor
string
Opaque pagination cursor.
sort
string
Endpoint-supported sort field.
order
string
default:"asc"
asc or desc.
curl "https://data.quantoraresearch.com/v1/derived-indicators?limit=10" \
  -H "x-api-key: $CONDUIT_API_KEY"
Response
{
  "data": [
    {
      "id": "deriv_surprise_index",
      "slug": "macro_surprise_index",
      "name": "Macro surprise index",
      "methodologyVersion": "1.0.0",
      "formulaVisibility": "public"
    }
  ],
  "meta": {
    "api_version": "v1",
    "pagination": { "limit": 10, "cursor": null, "next_cursor": null, "has_more": false }
  },
  "requestId": "..."
}
id
string
Derived indicator id.
slug
string
Stable slug, usable in lookups.
name
string
Human-readable name.
methodologyVersion
string
Semantic version of the derivation methodology.
formulaVisibility
string
How open the formula is: public, partial, or proprietary.

Look up one derived indicator

curl "https://data.quantoraresearch.com/v1/derived-indicators/macro_surprise_index" \
  -H "x-api-key: $CONDUIT_API_KEY"

Read derived observations

GET /v1/derived-observations returns the stored derived values. Each row exposes the value, the period it describes, when it was computed, and the provenance lists that make it reproducible.
entity_id
string
Restrict to one entity (e.g. a country entity).
period
string
The period a value describes: YYYY, YYYY-MM, or YYYY-Qn.
start_date
string
Knowledge-time lower bound (ISO timestamp).
end_date
string
Knowledge-time upper bound (ISO timestamp).
limit
integer
default:"100"
Page size, 1 to 500.
cursor
string
Opaque pagination cursor.
order
string
default:"desc"
asc or desc.
To read the series for a single dataset, use GET /v1/derived-indicators/{idOrSlug}/observations. To read derived values for a single entity, use GET /v1/entities/{entityId}/derived-observations.
curl "https://data.quantoraresearch.com/v1/derived-indicators/macro_surprise_index/observations?entity_id=country_usa&limit=5" \
  -H "x-api-key: $CONDUIT_API_KEY"
Response
{
  "data": [
    {
      "id": "dobs_us_surprise_2026_05",
      "derivedIndicatorId": "deriv_surprise_index",
      "entityId": "country_usa",
      "valueNumeric": 0.42,
      "valueText": null,
      "unit": "z-score",
      "periodStart": "2026-05-01",
      "periodEnd": "2026-05-31",
      "computedAt": "2026-06-12T06:00:00Z",
      "inputObservationIds": ["obs_us_cpi_2026_05", "obs_us_nfp_2026_05"],
      "sourceRefs": ["bls:cpi", "bls:nfp"]
    }
  ],
  "meta": {
    "api_version": "v1",
    "pagination": { "limit": 5, "cursor": null, "next_cursor": null, "has_more": false }
  },
  "requestId": "..."
}
Example values above are illustrative. Pull live values from the endpoint.

Derived observation fields

id
string
Derived observation id.
derivedIndicatorId
string
The derived indicator this value belongs to.
entityId
string
Entity the value is keyed to (e.g. a country entity).
valueNumeric
number
Numeric value. May be null when the result is textual.
valueText
string
Textual value, when applicable. May be null.
unit
string
Unit of the value. May be null.
periodStart
string
Start of the period the value describes.
periodEnd
string
End of the period the value describes.
computedAt
string
Timestamp the derived value was computed (ISO).
inputObservationIds
array
Ids of the underlying observations that fed this value. Each id is queryable on the observations API.
sourceRefs
array
Source references behind the inputs, for attribution and auditing.

Trace a derived value to its inputs

Because every derived observation records inputObservationIds, you can walk from a derived value back to the official releases it was built on.
1

Read the derived observation

Pull the derived value you care about and capture its inputObservationIds.
2

Fetch each input observation

Query the underlying observations by id (for example through GET /v1/observations or GET /v1/entities/{entityId}/observations) to see the actual readings that fed the calculation.
3

Follow provenance to the source

For any input, call GET /v1/provenance/observations/{observationId} to reach the named source, the source URL, the raw payload reference, and the ingestion run.
Raw provider payload bodies are never exposed by the product API. Provenance returns reference metadata (source, URL, ingestion run, raw payload id), not the original payload contents.

Notes

Derived endpoints retrieve precomputed values. You cannot pass your own formula or change the methodology through the API; you read what Conduit has computed and stored.
formulaVisibility tells you how open each methodology is: public (fully documented), partial, or proprietary. Regardless of visibility, the inputs and source references behind every value are always returned.
Derived datasets follow the same rights model as the rest of the API. Values built only from redistribution-safe official inputs are safe to redistribute; the source references make the underlying provenance explicit.

Economic calendar & events

Surprise inputs (actual, forecast, consensus) come from the calendar.

Sync & changes

Keep derived datasets in sync alongside raw observations.