skprop
The agent edition · ledger of endpoints

Every page is also an endpoint.

Read endpoints are GET, CORS open, cached 60-300 seconds. Write endpoints accept JSON. Every endpoint has a stable shape; breaking changes are surfaced in /llms-full.txt and on a /changelog page.

Try it now
curl https://chope-sg.pages.dev/api/listings.json?limit=2&verified=1
curl 'https://chope-sg.pages.dev/api/search.json?q=toa+payoh&type=hdb'
curl -X POST https://chope-sg.pages.dev/api/calc/hfe-tdsr \\ -H 'content-type: application/json' \\ -d '{"price_sgd":780000,"monthly_income_sgd":8500}'
For AI agents specifically

Point your client at the manifest. The MCP server is the recommended path for agents acting on a user's behalf (post wishlist, ping listing, compute affordability).

Endpoint ledger
GET
Paginated resale and new-launch listings. Filter by type, district, verified, price range.
GET
Single listing with agent + demand block + related listings.
GET
Open buyer wishlists.
POST
Post a buyer wishlist on behalf of a user. Returns assigned id + anonymous handle.
GET
Per-block demand cells, 24h + 7d search counts vs supply.
GET
Active new launches with PSF gap vs nearby resale.
GET
CEA-licensed agent directory with track record.
GET
Shadow inventory · units planning to list in 3-12 months.
GET
Text + filter search. Sort by relevance, price, PSF, or lease remaining.
POST
Compute max loan, downpayment, monthly at 4.0% MAS stress rate, TDSR / MSR / LTV.
GET
OpenAPI 3.1 spec for the whole API.
Discovery
Site brief for LLMs. Entry point.
Full spec with sample payloads.
MCP server discovery manifest.
Standard sitemap for crawlers.
Crawler policy. All clean.