Skip to main content
Before you query observations you need to know what to ask for: which indicators exist, what to call a country, and how to turn a ticker or CIK into a Conduit entity. These catalog endpoints are the index. They are read-only and paginated, and they return the IDs and slugs you then feed into the observation filters.

Indicators

The canonical indicator catalog: every macro series Conduit normalizes, keyed by stable slug.

Entities

Countries, regions, and companies, resolvable by ticker, CIK, LEI, FIGI, ISIN, or CUSIP.

Countries

The country list and, per country, which indicators are available.

Indicators

An indicator is a kind of measurement (CPI inflation, the policy rate, the unemployment rate) defined independently of any one country. The canonical catalog gives each a stable slug you can use across every country, so the same field name works whether you are asking about the US or Japan.

Canonical indicators

GET /v1/canonical-indicators is the catalog you want most of the time. It lists the public, cross-country indicator slugs (the same names the screener and observation filters accept).
curl -s "https://data.quantoraresearch.com/v1/canonical-indicators?limit=200" \
  -H "x-api-key: $CONDUIT_API_KEY"
A canonical indicator record:
{
  "indicatorId": "cpi_inflation_yoy",
  "name": "CPI inflation, year over year",
  "country": null,
  "currency": null,
  "category": "inflation",
  "unit": "percent",
  "frequency": "monthly",
  "importance": "high",
  "aliases": ["cpi_yoy", "headline_inflation"]
}
indicatorId
string
The canonical slug. Use this in the indicator filter and as a screener field.
name
string
Human-readable indicator name.
category
string
Indicator family, for example inflation, labor, rates, growth.
unit
string
Native unit, for example percent or index.
frequency
string
Default publication cadence: daily, weekly, monthly, quarterly, or annual.
importance
string
Indicator importance: low, medium, or high.
aliases
string[]
Alternate names the screener and resolvers also accept for this field.

Indicator detail, series, and entities

GET /v1/indicators lists the full underlying indicator registry (including non-canonical and per-country variants). Once you have an indicator id or slug:

GET /v1/indicators/{idOrSlug}/series

The distinct series under an indicator (one per entity / source / frequency combination).

GET /v1/indicators/{idOrSlug}/entities

Which entities (countries, companies) report this indicator.
curl -s "https://data.quantoraresearch.com/v1/indicators/cpi_inflation_yoy/series?limit=200" \
  -H "x-api-key: $CONDUIT_API_KEY"
To go straight from an indicator to its values, use the observation filter instead: GET /v1/public/observations?indicator=cpi_inflation_yoy. See the observations guide.

Entities

An entity is the thing a value is about: a country, a region (for example the euro area), or a company. Country-scoped macro readings hang off country entities; SEC fundamentals hang off company entities. Each entity has a stable id and slug, plus a set of aliases (tickers, identifiers, former names) so you can find it by whatever you already have.

List and fetch entities

curl -s "https://data.quantoraresearch.com/v1/entities?limit=100" \
  -H "x-api-key: $CONDUIT_API_KEY"
GET /v1/entities/{idOrSlug} accepts either the id or the slug. An entity record:
{
  "id": "country_usa",
  "type": "country",
  "name": "United States",
  "slug": "usa",
  "active": true,
  "metadata": {}
}

Resolve an entity by alias

GET /v1/entities/resolve turns an identifier you already hold (a ticker, CIK, LEI, FIGI, ISIN, or CUSIP) into the Conduit entity. Pass the value as alias and, optionally, narrow the lookup with alias_type. Narrowing avoids ambiguity when one string could match more than one identifier kind.
curl -s "https://data.quantoraresearch.com/v1/entities/resolve?alias=AAPL&alias_type=ticker" \
  -H "x-api-key: $CONDUIT_API_KEY"
Common alias_type values: ticker, cik, lei, figi, isin, cusip, and former_name. If you omit alias_type, Conduit matches across all alias kinds. An unresolved alias returns 404 not_found.
The same identifiers work directly in the entity observation filter. GET /v1/public/observations?entity=AAPL resolves the ticker for you, so you do not always need a separate resolve call.

Entity observations

Once you have an entity, GET /v1/entities/{entityId}/observations returns its observations and accepts the full observation filter set (indicator, frequency, time params, and so on).
curl -s "https://data.quantoraresearch.com/v1/entities/country_usa/observations?indicator=cpi_inflation_yoy&limit=12" \
  -H "x-api-key: $CONDUIT_API_KEY"

Countries

Countries are the most common entity type for macro work. The country endpoints give you the canonical country list with ISO codes, currency, and region, plus a per-country view of which indicators are available.

List and fetch countries

curl -s "https://data.quantoraresearch.com/v1/countries?limit=100" \
  -H "x-api-key: $CONDUIT_API_KEY"
GET /v1/countries/{idOrIso} accepts the entity id or an ISO code (alpha-2 or alpha-3). A country record:
{
  "entityId": "country_usa",
  "iso2": "US",
  "iso3": "USA",
  "name": "United States",
  "region": "Americas",
  "subregion": "Northern America",
  "currency": "USD",
  "capital": "Washington, D.C."
}

Available indicators per country

GET /v1/countries/{idOrIso}/available-indicators lists which indicators that country actually has data for. Use it to build a country-specific picker without probing every indicator one by one.
curl -s "https://data.quantoraresearch.com/v1/countries/USA/available-indicators?limit=200" \
  -H "x-api-key: $CONDUIT_API_KEY"

Pagination

All catalog endpoints are list endpoints sharing one pagination model. List responses wrap results in data.items with data.pagination carrying the cursor; the top-level meta.pagination mirrors it.
ParamDefaultDescription
limit100Page size, 1 to 500.
cursornoneOpaque cursor from the previous page’s next_cursor.
sortendpoint defaultField to sort by, where supported.
orderascasc or desc.
Follow next_cursor while has_more is true. The TypeScript SDK’s paginate() does this automatically:
for await (const indicator of conduit.paginate("/v1/canonical-indicators")) {
  console.log(indicator.indicatorId);
}

Coverage at a glance

To see catalog totals and the public indicator categories without paging through every list, call GET /v1/public/coverage. It returns counts of countries, indicators, providers, and sources, plus the covered country list and public indicator breakdown by category. Prefer it over hard-coding totals, since coverage grows over time.
curl -s "https://data.quantoraresearch.com/v1/public/coverage" \
  -H "x-api-key: $CONDUIT_API_KEY"

Next steps

Macro observations

Use the IDs from this page to fetch point-in-time values with full filters and provenance.

Macro screener

Filter countries by the latest values of these indicators.