# Bounty API > Singapore property & financial data APIs for AI agents. Government data (URA, IRAS, HDB, MAS), computed financial logic, and market intelligence. Pay-per-call via x402 (USDC on Base). No API keys, no subscriptions. Every response carries its source. ## Base URL https://bountyapi.com All endpoints are relative to this base URL. ## Authentication All paid endpoints require micropayment via x402 protocol. Payments are processed on Base mainnet (eip155:8453). Free endpoints require no payment and no authentication. ## Discovery - OpenAPI spec with x402 payment metadata: https://bountyapi.com/openapi.json - AgentCash well-known: https://bountyapi.com/.well-known/agentcash.json - 13 paid routes tagged with `x-payment-info` and `responses.402` ## Agent Workflow (Progressive) ### Option A: AgentCash (recommended — automatic payment handling) 1. Install AgentCash MCP server: `npx agentcash@latest install` 2. Fund your wallet: `npx agentcash@latest accounts` (gives you Base/Solana deposit addresses) 3. Discover Bounty endpoints: `mcp__agentcash__discover_api_endpoints("https://bountyapi.com")` 4. Check endpoint schema and pricing: `mcp__agentcash__check_endpoint_schema("https://bountyapi.com/stamp-duty")` 5. Execute: `mcp__agentcash__fetch("https://bountyapi.com/bsd?price=1000000")` AgentCash handles wallet creation, USDC payment, and 402 challenge resolution automatically. Paid 200s return `{ success: true, data: }` — parse endpoint fields at `.data.*`. ### Option B: Direct MCP (tool discovery without auto-pay) Add to Claude Desktop or any MCP-compatible client: ```json { "mcpServers": { "bounty-api": { "url": "https://bountyapi.com/mcp" } } } ``` This exposes all 27 MCP tools. Free tools work immediately. Paid tools return 402 with payment instructions — you need an x402-aware HTTP client to complete payment. ### Option C: Direct HTTP (no MCP) Call endpoints directly with curl or any HTTP client. Free endpoints return data. Paid endpoints return HTTP 402 with a `payment-required` header containing x402 payment instructions. ```bash # Free — works immediately curl "https://bountyapi.com/bsd?price=1000000" # Paid — returns 402 curl "https://bountyapi.com/hdb/towns" ``` If no endpoint matches the user task, stop this flow and tell the user what data is available. --- # Property Investment Research Methodology Use this playbook for property analysis requests (e.g., "Is this condo worth buying?", "Can I afford this property?", "Compare these 3 properties"): 1. **Identify the property**: Get the address, postal code, or project name. If the user provides a PropertyGuru/99.co listing URL, extract the price, size (sqft), project name, and postal code from the page. 2. **Stamp duty** (FREE): Call `POST /stamp-duty` with `{"price": , "buyer_profile": "SC", "property_count": 1}`. Returns BSD + ABSD breakdown. 3. **Affordability check** (FREE): Call `GET /buy-vs-rent?monthly_rent=&property_price=&holding_years=10`. Returns full buy-vs-rent comparison. 4. **Mortgage** (FREE): Call `POST /mortgage/calculate` with `{"principal": , "annual_interest_rate": 3.5, "loan_term_years": 25}`. Returns monthly payment. 5. **Transaction comparables** ($0.05): Call `GET /ura/transactions?batch=1` to get recent private property transactions. Filter by district to find comparable sales. 6. **Rental yield** ($0.005): Call `POST /rental-yield/calculate` with `{"property_price": , "monthly_rent": }`. Returns gross/net yield. 7. **Salary context** (FREE): Call `GET /salary/search?role=` to benchmark whether the user can afford the monthly costs. 8. **One-call summary** ($0.05): Call `POST /property/pitch` with the property details. Returns a client-ready investment thesis with verdict. **Cost optimization**: Steps 2-4 and 7 are FREE. Do those first. Only pay for steps 5-6 and 8 if the user wants deep analysis. --- # Free Endpoints (no payment required) ## GET /bsd Buyer's Stamp Duty calculation for residential property. Query: `?price=1000000` Price: FREE Source: iras.gov.sg Example: ``` GET /bsd?price=1000000 ``` Response: `{"price": 1000000, "bsd": 24600, "breakdown": [...], "source": "iras.gov.sg"}` --- ## POST /stamp-duty Full stamp duty calculation (BSD + ABSD). Use this instead of /bsd when buyer profile matters. Price: FREE Source: iras.gov.sg, verified Jan 2026 Example: ```json { "price": 1500000, "buyer_profile": "SC", "property_count": 1 } ``` buyer_profile values: SC, SPR, FR, entity, developer, trustee ABSD rates: SC 1st=0%, 2nd=20%, 3rd=30%. SPR 1st=5%, 2nd=30%. FR=60%. Entity=65%. --- ## GET /absd Additional Buyer's Stamp Duty only. Query: `?price=1500000&buyer_profile=SPR&property_count=1` Price: FREE --- ## POST /mortgage/calculate Fixed-rate mortgage with amortization schedule. Price: FREE Example: ```json { "principal": 1125000, "annual_interest_rate": 3.5, "loan_term_years": 25 } ``` Response: `{"monthly_payment": 5629.76, "total_interest": 563928.18, "total_paid": 1686428.18}` --- ## GET /buy-vs-rent Total cost comparison of buying vs renting over a holding period. Includes mortgage, stamp duty, property tax, maintenance, appreciation, and opportunity cost. Query: `?monthly_rent=4500&property_price=1500000&holding_years=10` Price: FREE Source: Composite — IRAS rates, standard amortization --- ## GET /property-tax Singapore property tax. Owner-occupier 0-32%, non-owner-occupied 10-20%. Query: `?annual_value=36000&owner_occupied=true` Price: FREE Source: IRAS, effective 1 Jan 2024 --- ## GET /tax/income Singapore individual income tax. Resident progressive 0-22%, non-resident 15% flat. Query: `?annual_income=120000` Price: FREE Source: IRAS individual income tax rates --- ## GET /gst Add or remove GST (9% from 1 Jan 2024). Query: `?amount=100&mode=add` Price: FREE --- ## GET /commission Estimated property agent commission for sale/rental. Query: `?price=1500000&transaction_type=sale` Price: FREE --- ## GET /cpf/housing CPF Ordinary Account accumulation for housing. Query: `?monthly_income=8000&age=30` Price: FREE --- ## GET /salary/search Benchmark salary for any Singapore role using live MyCareersFuture job postings. Not self-reported — real employer-posted data. Query: `?role=software engineer` Price: FREE Source: MyCareersFuture (api.mycareersfuture.gov.sg) --- ## GET /address/{postal_code} Postal code to district, planning area, CCR/RCR/OCR region, HDB town. Price: FREE Source: URA Master Plan 2019, SLA postal sectors --- ## GET /mrt/near/{postal_code} 5 nearest MRT stations with walking distance. Price: FREE Source: LTA DataMall, 142 stations across all 6 lines --- ## GET /schools/near/{postal_code} Schools within 1km and 2km for Primary 1 distance priority. Price: FREE Source: OpenStreetMap, 294 schools --- ## GET /postal/{code} Postal code to district number and name. Price: FREE --- ## GET /hdb/lease-decay HDB remaining lease analysis — financing thresholds, CPF restrictions, SERS caveat. Query: `?lease_remaining=65` Price: FREE --- ## GET /hdb/eip/{town} HDB Ethnic Integration Policy and SPR quota limits. Price: FREE --- ## GET /currency/ Currency exchange rates. Price: FREE --- ## GET /invest/ Investment growth calculator. Price: FREE --- # Paid Endpoints (x402 micropayment required) ## GET /hdb/towns All HDB towns with transaction counts. Price: $0.01/call Source: data.gov.sg (live) --- ## GET /hdb/median/{town} Median resale price by flat type for a specific town. Price: $0.01/call Source: data.gov.sg --- ## GET /hdb/search Search HDB resale transactions with filters (town, flat_type, price range). Price: $0.01/call Source: data.gov.sg, 234K+ transactions 2017-present --- ## POST /rental-yield/calculate Gross yield, net yield, cap rate, price-to-rent ratio, cashflow. Price: $0.005/call Example: ```json { "property_price": 1500000, "monthly_rent": 4500 } ``` --- ## POST /affordability/calculate MAS TDSR (55%) and HDB MSR (30%) affordability check. Returns max loan and property price. Price: $0.01/call Source: MAS TDSR framework, HDB MSR rules --- ## POST /property/analyze Complete property analysis in one call: stamp duty, comparables, rental yield, affordability, location, risk. Price: $0.05/call Source: Composite — IRAS, data.gov.sg, MAS, URA, LTA --- ## POST /property/pitch Client-ready investment thesis: price fairness, stamp duty, affordability, yield, location, tenure risk, upfront costs, strengths, risk flags, plain-English verdict. Price: $0.05/call Example: ```json { "property_type": "condo", "project_name": "One Leicester", "address": "500 Potong Pasir Ave 1", "price": 2499000, "monthly_rent": 4500, "buyer_profile": "SC" } ``` --- ## POST /property/rank Rank multiple candidate properties by investment value. Returns 0-100 scores across 4 dimensions. Price: $0.10/call --- ## GET /ura/transactions Private residential property transactions (caveat data). Project, street, price, PSF, tenure, sale type. Query: `?batch=1` Price: $0.05/call Source: URA Developer API (PMI_Resi_Transaction) --- ## GET /ura/rental-median Median rental rates by private residential project. Query: `?project_name=One Leicester` Price: $0.05/call Source: URA Developer API --- ## GET /ura/developer-sales Developer units launched and sold by project. Price: $0.05/call Source: URA Developer API --- ## GET /ura/pipeline Future private residential supply pipeline. Query: `?batch=1` Price: $0.05/call Source: URA Developer API --- ## GET /ura/rental-contracts Aggregate rental contract statistics by area and property type. Price: $0.05/call Source: URA Developer API --- ## GET /ura/status Check if URA API is configured. Free — use before paid URA calls. Price: FREE --- # Pricing Summary | Endpoint | Price | |----------|-------| | Stamp Duty (BSD/ABSD) | FREE | | Mortgage Calculator | FREE | | Buy vs Rent Analysis | FREE | | Property Tax | FREE | | Income Tax | FREE | | GST Calculator | FREE | | Commission Estimator | FREE | | CPF Housing | FREE | | Salary Benchmark | FREE | | Address Intelligence | FREE | | MRT Proximity | FREE | | School Proximity | FREE | | Postal District | FREE | | HDB Lease Decay | FREE | | HDB EIP/SPR Quota | FREE | | Currency | FREE | | Investment Growth | FREE | | URA Status | FREE | | HDB Resale Data | $0.01 | | Affordability (TDSR/MSR) | $0.01 | | Rental Yield | $0.005 | | Property Analysis | $0.05 | | Property Pitch | $0.05 | | URA Transactions | $0.05 | | URA Rental Median | $0.05 | | URA Developer Sales | $0.05 | | URA Pipeline | $0.05 | | URA Rental Contracts | $0.05 | | Property Ranking | $0.10 | --- # MCP Integration Bounty exposes all endpoints as MCP tools via `https://bountyapi.com/mcp`. Claude Desktop config: ```json { "mcpServers": { "bounty-api": { "url": "https://bountyapi.com/mcp" } } } ``` npm package for stdio transport: `bountyapi-mcp` (v1.8.0) ```bash npx bountyapi-mcp ``` --- # Links - Pricing: https://bountyapi.com/pricing - Agent setup: https://bountyapi.com/setup - Provider onboarding: https://bountyapi.com/providers - Machine manifest: https://bountyapi.com/manifest.json - Machine pricing: https://bountyapi.com/pricing.json - Full documentation: https://bountyapi.com/llms-full.txt - GitHub: https://github.com/vncent786/bounty-api - npm: https://www.npmjs.com/package/bountyapi-mcp