REST + MCP · citation-bearing · bitemporal

AI-ready Thai & SEA reference data

Normalized energy, FX & macro reference data served to software and LLM agents — with full historical continuity and a verifiable provenance chain on every datapoint.

Try the API ▸How it works ▸
series
countries
freshness
8
MCP tools
🔖

Citation-bearing

Every datapoint carries source_doc_uri, as_reported_at, parser_confidence + a human-readable citation — groundable + verifiable by any LLM or agent.

🧩

MCP-native

A remote MCP server exposes every dataset as a tool; agents discover the catalog and read cited values directly — no scraping.

🕰️

Bitemporal

Append-only revisions on two time axes (valid-time + transaction-time). Query any point in history with ?as_of=YYYY-MM-DD.

🌏

25+ datasets · TH·MY·SG

Electricity, oil, FX, macro, gold, equities, bank rates, bond yields, fuel — normalized + reconciled across countries.

API explorer

Run any endpoint live. Add a key for the free tier, or stay anonymous.

Presets

Request

curl 'https://veracle-api.chaiyaphum.workers.dev/v1/series'
Response
— responses appear here —

Catalog

loading catalog…

Provenance & lineage

follow any datapoint back to its source
Run an /v1/observations query (or click a catalog series) — then trace any returned datapoint to its source document. Derived series expand into the inputs they were computed from.

Trust, visualized

The proof behind the data: oil components that reconcile to the pump price, a clearly-labelled forecast band, and a derived index auditable back to each input. Click any datapoint to trace its lineage.

Oil price structure — reconciliation

loading…

Ft forecast — confidence band

loading…

Effective energy-cost index — derived

loading…

Bitemporal time-travel

See a series as it was reported on a past date vs the latest known state. Revisions are append-only, so ?as_of= reconstructs exactly what was known then.

Freshness & coverage

Per-series age vs its cadence budget — the SLI behind the overall ok|degraded roll-up. (Synthetic demo data is intentionally stale.)

loading freshness…

Docs

Every datapoint carries source_doc_uri, as_reported_at, parser_confidence, a revision_id and a human-readable citation — add ?as_of=YYYY-MM-DD for point-in-time reads.

Endpoints

  • GET /v1/series — catalog (filter domain, country, q); /v1/series/{id} for one.
  • GET /v1/observations?series_id=…|series_prefix=… — generic cited read of any series (+ from/to/as_of).
  • Typed: /v1/ft · /v1/oil · /v1/fx · /v1/macro.
  • Ops: /health{,/ready} · /v1/freshness · /metrics.
  • Enterprise: /v1/exports · /v1/webhooks · /v1/audit · /v1/residency.

Auth tiers (limits-only — same data)

  • anon (IP) 60/min · free (X-API-Key) 600/min · pro (Bearer) 6000/min.

Datasets

  • Electricity Ft (TH) · oil price structure (all components)
  • FX (USD/EUR/JPY/GBP/CNY) · macro (policy rate, CPI, GDP)
  • LPG / NGV · gold · SET/SET50/SET100 · bank rates (MLR/MOR/MRR) · bond yields · core CPI · minimum wage
  • Derived effective energy-cost index · next-period forecasts (estimates, banded)
  • SEA: Malaysia (fuel, MYR, OPR, KLCI) · Singapore (SGD, CPI, STI, electricity tariff)

MCP (for agents)

A remote MCP server exposes list_series · get_series · get_observations · get_ft_tariff · get_oil_price_structure · get_fx_rates · get_macro_indicators · get_freshness — every result citation-bearing.