Build on PropKaki. Singapore property intelligence, one API call away.
The engine behind PropKaki's app and WhatsApp assistant — stamp duty, affordability, valuations, transactions and market trends — inside your own product. One endpoint, one key, priced per call.
Get a key free — a S$5 trial credit is included. After that, you only pay per call.
curl -X POST https://www.propkaki.com/api/v1/ask \
-H "Authorization: Bearer pk_live_..." \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"question": "ABSD on a $1.8m second property for a Singapore Citizen?"}'{
"ok": true,
"type": "answer",
"answer": "ABSD is 20% — $360,000 on a $1.8M second property…",
"figures": [
{ "label": "stamp duty (SC property #2 @ $1.80M)",
"statement": "BSD $59,600, ABSD $360,000 (20%), total $419,600" }
],
"offer": { "label": "Run the full affordability check?", "accept_with": "yes" },
"sources": [{ "title": "Stamp duty & rates", "sourceName": "IRAS rates" }],
"tools_called": ["stamp_duty"],
"usage": { "op": "qa", "cost_cents": 35, "currency": "SGD" },
"conversation_id": "conv_01J8…",
"as_of": "May 2026"
}Not just prose. Every answer carries the figures it grounded as data, the sources behind them, and the next step it offered — send offer.accept_with back and it runs that next step.
Why Build on PropKaki
Grounded, Not Guessed
Every rate and figure comes from a dated store, never a model's memory — and each answer stamps its as_of. Models get Singapore's rules wrong; this doesn't.
Answers, Not Rows
You send a question, you get an answer — the same engine behind PropKaki's app and WhatsApp assistant, with 30+ property tools behind it.
Built for Machines
Idempotency keys mean a retry never double-bills. A conversation lock means concurrent turns can't corrupt state. Errors are typed, not prose.
What You Can Build
One question in, one grounded answer out — the same call powers very different products.
In-Product Answers
Embed a grounded Singapore property assistant in your portal, superapp or agent tool — prose verdict, figures and sources in one response.
Affordability & Stamp Duty
Run ABSD, BSD, TDSR and affordability checks inside your onboarding or mortgage flow. The numbers come back as data, not sentences to parse.
Valuations & Comps
Answer “is this price fair?” on your own project and listing pages — valuations grounded in real caveat data, with the comps behind them.
Market Research & Content
Town and district trends, HDB and private market reads, and rules lookups — every figure dated, so your content never quotes a stale rate.
CRM & Client Files
Log the figures each conversation committed straight to your CRM, and render the assistant's next-step offer as a native button in your UI.
Slides, Video & Paperwork
Listing decks, 9:16 listing videos and pre-filled paperwork as API jobs — the deliverables engine, behind gated scopes.
Conversations, Not Just Calls
Pass a conversation_id and it remembers the client's brief and the figures already on the table — so a follow-up like “and the ABSD on that?” just works. Delete a conversation any time; the memory goes with it.
An MCP Server, Ready to Add
Fifteen read-only tools behind OAuth 2.1 at one URL. Paste it into ChatGPT, Claude or any MCP client — no key, no SDK. Where the API returns an answer, the connector hands your model the tools and lets it do the reasoning.
Ask ChatGPT and it answers from PropKaki — transacted prices, stamp duty, the current rules. ChatGPT reaches PropKaki, never the other way round, and it spends your PropKaki credits.
It reaches PropKaki, never the other way round: it can ask PropKaki's property tools and read the help articles, and it cannot see your contacts, your chats or your account.
It spends your PropKaki credits: 1 credit per question.
Your PropKaki link
In ChatGPT
- In ChatGPT, open Settings → Connectors (or Plugins, if Developer mode is on) and choose New.
- Paste the PropKaki link as the server URL, set Authentication to OAuth, and create it.
- Press Connect. ChatGPT sends you to PropKaki to sign in and press Allow — that is the whole setup.
Press Allow and it's connected. No PropKaki account yet? Sign up on that page — it's free, no card — and you land back on Allow. From then on the connection shows under Extensions → Connectors.
Built for Production
The boring guarantees a machine caller actually needs — on every key from day one.
- Keys are stored as SHA-256 hashes — revoke and re-mint any time from the platform
- Scopes are per-key grants: gated capabilities are off by default, unlocked per customer
- Idempotency keys are required — a retried request replays the stored answer, never bills twice
- One turn per conversation at a time — a busy conversation returns a typed 409, not corrupted state
- Typed error contract: { code, message, request_id } — internal detail never reaches the wire
- Billing fails closed — if the credit wall can't be checked, we serve nothing rather than guess
- Per-key rate limits (60 requests/min by default), raised deliberately per customer
- Delete a conversation and its memory is actually erased — built for PDPA from day one
A Prepaid Wallet, Priced Per Call
Add funds by any amount, spend per call at published rates — no subscriptions, no packs, no minimum commitment. Failed calls are refunded in full.
Calculators, valuations, market reads, project and agent lookups
Live listings turns and heavy multi-tool analysis
One-time, when you mint your first key — then top up any amount from S$10
High volume, invoicing, listings access, media jobs or white-label? Those are per-customer unlocks — get a key and reach out from the platform.
Frequently Asked Questions
The short, plain answers to what the API is, where its answers come from, and how it's priced.
What is the PropKaki API?
The PropKaki API is a Singapore property intelligence API: you send a property question to one endpoint and get back a grounded answer as typed JSON — the prose verdict, the figures as data, the sources behind them and an as-of date. It runs the same engine as PropKaki's app and WhatsApp assistant, covering stamp duty, affordability, valuations, transactions, market trends, and project and agent lookups.
Where do the answers come from?
Every figure is grounded in official Singapore sources — URA transaction caveats, HDB resale records, data.gov.sg datasets, IRAS stamp duty rates and MAS loan rules — never a model's memory. Each answer cites its sources and stamps the currency of its rates in an as_of field.
Can I get raw data or bulk exports?
No. The API sells answers, not rows — there is no bulk export and no way to request the underlying dataset. You get synthesised answers with the figures as structured data and the sources cited, which is what an app actually renders.
How is the API priced?
A prepaid SGD wallet you top up by any amount from S$10, drawn down per call at published rates: a standard answer is S$0.35, and heavier listings or premium analysis calls are S$1.40. Minting your first key comes with a one-time S$5 trial credit, and failed calls are refunded in full — you only pay for answers you receive.
Does the API remember context between calls?
Yes. Pass a conversation_id and the engine keeps the client's brief and the figures already discussed, so follow-up questions just work. Your app holds the transcript; deleting a conversation erases the server-side memory — built for PDPA from day one.
How do I get an API key?
Create a free PropKaki account on the platform and mint a key — it's shown once, and you can revoke or re-mint any time. Your first call is a single curl command from the quickstart in the docs.
Is there an MCP server?
Yes — https://www.propkaki.com/api/mcp. The same fifteen read-only tools behind OAuth 2.1: add it as a connector in ChatGPT or Claude, or point any MCP client at it. It bills your PropKaki plan's credits, not the API wallet: 1 credit per question. For a key-based, per-call API with conversation memory and typed JSON, use /api/v1/ask.
Start Building Today
Create a key on the platform, make your first call from the docs, and ship grounded property answers this afternoon.
