ASAPTIC Talk to us

VERIFIABLE BY DESIGN · EVERY NUMBER IS A LIVE PUBLIC DATA POINT

Every number on this site is curl-checkable public data - not marketing.

The tender ledger, the market breakdown, the agent tools - all of it is served from the same live endpoints our execution engine reads. No vanity figures, no hidden denominators, no auth wall. Paste a URL into a terminal and see exactly what we see.

Public endpoints, no key required - dev.asaptic.com ->

LIVEpublic endpoint200 OK
$ curl asaptic.com/api/v1/health
{ "status": "ok", "rows_total": 2536, "issue_id": "2026-W33", "feed_fresh": true, "schema": "asaptic.tender.v1" }
# this is the literal response, byte for byte - not a mock-up.
# no "markets" field here on purpose. we don't assert that number
# without showing our work - see the facets check below.
2,536 public tenders in the live ledger-> GET /api/v1/health
7 markets, one shared ledger-> summed from /api/v1/tenders/facets
10 MCP tools, zero auth-> POST /mcp tools/list
Every figure traces to a live query - dev.asaptic.com ->

Do the arithmetic yourself

The "7 markets" claim, proven by addition, not asserted by us.

We could put "markets": 7 in a JSON blob and ask you to trust it. Instead here's the actual facet breakdown - sum it and compare to the row count above.

LIVEpublic endpoint200 OK
$ curl asaptic.com/api/v1/tenders/facets
{ "data": { "market": [ { "code": "AU", "count": 120 }, { "code": "CA", "count": 192 }, { "code": "EU", "count": 383 }, { "code": "GB", "count": 423 }, { "code": "HK", "count": 580 }, { "code": "MO", "count": 214 }, { "code": "SG", "count": 624 } ] } }
# 120 + 192 + 383 + 423 + 580 + 214 + 624 = 2,536
# exactly the rows_total from /api/v1/health, above. seven markets,
# one ledger. we're not asking you to trust the sum - check it.

Public endpoints

Eight ways to read the ledger - all curl-checkable, most need no key.

Same data our AI execution engine reads. No SDK tax, no dashboard login, no pagination walls we don't document.

GET/api/v1/healthFeed status - row count, issue id, freshness flag. The object every number on this page traces back to.
GET/tender/rows.jsonFull ledger snapshot - all 2,536 sanitized rows, trilingual (en / zh-Hans / zh-Hant), refreshed every weekly issue. No key.
GET/api/v1/tendersFiltered, paginated feed - market, category, closing_bucket, value_band, q, cursor. Defaults to open listings only (697 right now) - pass closing_bucket=all for the full 2,536.
GET/api/v1/tenders/{at_id}One listing row by its Asaptic id.
GET/api/v1/tenders/facetsMarket, category, closing-bucket and value-band counts. The fastest way to check our numbers yourself - see above.
GET/api/v1/spec-coded/{at_id}Gated technical package. Unauthenticated calls get a real 403 with the access path in the body - not a fake 200 dressed up as a demo.
POST/mcpModel Context Protocol server, JSON-RPC 2.0. tools/list returns 10 callable tools - list_tenders, get_tender, tender_facets, explain_fit, submit_rfq among them.
GET/llms.txtPlain-text site index for language models. This page has a machine-readable twin.

Built for machines too

Not just developer-friendly. Agent-native.

The same ledger that powers our trade execution is readable by your agents and models - no scraping, no HTML parsing, no guesswork.

MCP
Model Context Protocol
A standards-compliant MCP server exposes the ledger as tools. Point your agent at the endpoint and let it query tenders, sourcing lanes, and fit scoring directly.
JSON
Structured feeds
Every public number on this site resolves to a JSON endpoint. The page and the API are the same object - there is no separate marketing dataset.
TXT
llms.txt
A plain-text map of what Asaptic is and where the data lives, so language models cite us correctly without guessing from rendered HTML.
LIVEPOST /mcp200 OK
$ curl asaptic.com/mcp -d '{"method":"tools/list"}'
{ "result": { "tools": [ "list_sourcing_lanes", "get_lane_capability", "get_engagement", "submit_rfq", "list_tenders", "get_tender", "tender_facets", "get_spec_coded", "request_tender_access", "explain_fit" ] } }
# real JSON-RPC 2.0 response - full input schemas omitted here for
# space, nothing else changed. 10 tools, zero auth. try it yourself.

Open the developer portal ->

Build with us

The ledger is open. The execution engine is results-based.

Wire your agents in today, or bring us a deal and let us run it end to end - you only pay when the result lands.