Skip to content

Looking for property developers and their projects? Browse the developer directory →

Developer API

Integrate Sakunat with your own site or CRM. Create an API key from your agency settings and authenticate every request with a bearer token. The REST endpoints below are scoped to your agency and rate-limited to 60 requests/minute per key; the MCP server is rate-limited separately.

Authentication

Authorization: Bearer sak_live_<prefix>.<secret>

Endpoints

GET/api/v1/listings
Returns your agency's live listings. Add ?format=csv or ?format=xml for syndication feeds; the default is JSON.
curl https://api.sakunat.com/api/v1/listings?format=xml \
  -H "Authorization: Bearer sak_live_…"
POST/api/v1/leads
Submit an enquiry on one of your listings back into the Sakunat lead pipeline (it appears in your dashboard and triggers the usual notifications). The listing must belong to your agency.
curl -X POST https://api.sakunat.com/api/v1/leads \
  -H "Authorization: Bearer sak_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "listingId": "lst_123",
    "name": "Ayesha Khan",
    "phone": "+923001234567",
    "message": "Is this still available?"
  }'

MCP server (for AI assistants)

Sakunat also speaks the Model Context Protocol so AI assistants (Claude, ChatGPT and others) can search inventory and pull market intelligence directly. It's a single JSON-RPC 2.0 endpoint exposing read-only tools over public data — no listing, lead or account can be created through it. Authenticate with the same API key (it needs the listings:read scope); calls are rate-limited to 120 requests/minute per key.

POST/mcp
The MCP transport endpoint. Point any MCP client at it with an Authorization header, or drive it directly with JSON-RPC. It implements initialize, tools/list, tools/call and ping (stateless — no SSE stream needed for these tools).

Available tools

  • search_listings — Search active listings by purpose, type, area name, bedrooms and budget.
  • get_listing — Fetch full details for one listing by its id.
  • estimate_value — Automated valuation (AVM) for a property from its area, type, purpose and size.
  • area_trends — Trailing-12-month price trend and year-over-year change for an area.
  • sold_prices — Recorded sold-price statistics for an area.
  • affordability — How much a buyer can afford from monthly income, debts and down payment.
  • mortgage — Monthly mortgage payment for a price, down payment, rate and term.

Example

Handshake, then list and call a tool. All monetary values are in Pakistani rupees (PKR).

# 1) initialize the session
curl -X POST https://api.sakunat.com/mcp \
  -H "Authorization: Bearer sak_live_…" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize",
       "params":{"protocolVersion":"2025-06-18","capabilities":{},
                 "clientInfo":{"name":"my-app","version":"1.0.0"}}}'

# 2) call a tool — automated valuation for a 10-marla DHA house
curl -X POST https://api.sakunat.com/mcp \
  -H "Authorization: Bearer sak_live_…" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
       "params":{"name":"estimate_value",
                 "arguments":{"locationName":"DHA Lahore","propertyType":"house",
                              "purpose":"sale","areaValue":10,"areaUnit":"marla"}}}'

Usage & keys

Each key tracks its last-used time and total request count, visible in your API settings. Revoke a key any time — revoked keys stop working immediately.