🤖ForAI & LLM product teams · agent builders
Ground your AI agents in numbers they can prove
Point any MCP-capable client at the remote server, or call Ask Veracle in English or Thai. Retrieval hands the model only real observations — each tagged with its id — and a closed-world verifier rejects any answer that cites an id it wasn't given. The model quotes the citation verbatim and literally cannot invent a figure.
UsesRemote MCP server (OAuth)Ask Veracleclosed-world citation verifierresolvable source_doc_uri
Exampleask_veracle("ค่า Ft ไฟฟ้างวดนี้เท่าไร?")
MCP + Ask Veracle⚡ForPlatform & ops engineers · SaaS products
Trigger workflows the moment data changes
Subscribe to publish events — a new Ft tariff, an oil-structure change, an FX or macro update, a fresh bulk export. Each delivery is an HMAC-SHA256-signed POST you verify with your secret, so you can recalculate costs, bust a cache, notify a channel or page on-call the instant a value lands — no polling.
UsesWebhooks + transactional outboxHMAC-SHA256 signatures5 event typesdelivery records
ExamplePOST /v1/webhooks { url, event_types }
Webhooks🗄️ForData engineers · analytics platforms
Load whole datasets into your warehouse
Pull content-addressed Parquet snapshots from R2 via a short-lived signed URL, or page through the typed SDKs. Snapshots are DuckDB-queryable and keep their provenance columns intact, so a row in your lake still resolves to its source document. A bulk.export.published webhook tells you when a fresh snapshot lands.
UsesBulk Parquet on R2SigV4 signed downloadsDuckDB-queryableTS + Python SDKsschema_version
ExampleGET /v1/exports/{id}/download
Bulk export + SDK📊ForAnalysts · utilities · energy & finance teams
Power live dashboards with clean, typed series
Hit the typed REST API (or the SDKs) for any series. Responses are edge-cached (X-Cache: HIT|MISS) for fast reads across SEA, validated against the shared schema, and carry their citation inline. Prometheus /metrics exposes latency and freshness if you want them on the same board.
UsesTyped REST APIedge cache (KV)validated SDK responses/metrics (Prometheus)
ExampleGET /v1/oil?fuel_grade=gasohol_95
REST + SDK🌱ForSustainability & compliance teams · CBAM filers
Turn energy into defensible CO₂e
POST activity quantities (kWh, litres) with emission-factor series ids to /v1/carbon/estimate and get kgCO₂e back — each factor cited to a named publisher (TGO, IEA, EU CBAM, real DEFRA). Add as_of for point-in-time compliance, so a footprint defends itself in an audit.
UsesEnergy→carbon bridgecited emission factorsEU CBAM defaultsas_of point-in-time
ExamplePOST /v1/carbon/estimate
REST + SDK🔎ForResearchers · journalists · policy analysts
Cite a number — and prove what was known, when
Query the generic observations endpoint across any series and date range, then resolve each datapoint's lineage to the exact archived PDF or HTML. Add as_of to reconstruct what the record said on a past date (bitemporal) — so you can show retroactive revisions, not just the latest value.
Uses/v1/observations (any series)bitemporal as_of/v1/observations/{id}/lineageresolvable citations
ExampleGET /v1/observations?series_prefix=th.oil&as_of=2025-01-15
Bitemporal + lineage📡ForSRE & data-engineering on-call
Know the instant a feed goes stale
/v1/freshness scores every current series against a cadence budget (oil daily, FX business-daily, Ft 4-monthly…) and rolls up to ok|degraded. Scrape /metrics for freshness gauges and request histograms, and alert when a source stops updating — before your users notice.
UsesFreshness SLI (/v1/freshness)cadence budgetsPrometheus /metrics/health/ready
ExampleGET /v1/freshness
Freshness + metrics🛡️ForRegulated fintech · banks · insurers
Reconcile every number to a source you can show a regulator
Every value carries provenance and resolves to an archived artifact, and quarantine is public — you can see what was held and why. Export your own audit trail (audit:read scope), check the declared data-residency, and reconcile bulk snapshots against your internal ledger: the defensible chain a regulator asks for.
UsesPer-principal audit log (/v1/audit)data-residency (/v1/residency)quarantine visibilitycross-source reconciliation
ExampleGET /v1/audit?action=ask.queried
Audit + residency