Search listings, retrieve trust reports, compare asking prices to NQ 87/2025 state land prices, review risk and planning signals, and stream scoped listing chat from one documented API.
Your team is rebuilding the same data layer. Listing normalization, trust scoring, government price matching, and risk assessment all need to be built before you ship a single user-facing feature. That is build time your roadmap cannot absorb.
Your agents want to show buyers structured evidence: document verification status, government land-price context, and data completeness grades. Without a standardized trust signal, good listings and bad listings look identical.
Building listing chat, risk assessment, or property comparison features requires a clean data layer underneath. Feeding raw listing data into an LLM produces answers that sound confident but lack evidence.
Query HCMC listings by district, price range, area, property type, and more. Normalized data with pagination, sorting, and diacritic-insensitive search built in.
Every listing returns trust_grade, quality_score, risk_score, risk_band, image provenance, and field completeness. Build trust badges and quality indicators directly.
Compare any listing against state land-price records. Get market-to-state ratios, 9 risk subscores, 5 blocking risk flags, and a final risk band.
SSE-streamed chat with citations, scoped to a single listing's data. Ask natural language questions and get structured answers grounded in the listing's attributes.
Pick your integration path. Each flow goes from registration to your first API response with paste-and-run curl examples.
Building a Vietnam real estate data layer takes months — normalization, government price matching, trust scoring, legal citations. You need to ship, not build infrastructure.
A single API with normalized listings, government land price comparison, zoning data, trust grades (A–F), and risk scoring. Register, get your first trust report in 5 minutes.
Save the api_key. Include it as Authorization: Bearer YOUR_KEY in all requests.
curl -X POST https://api.bds.chat/auth/register \
-H "Content-Type: application/json" \
-d '{"email": "dev@yourcompany.com", "name": "Your Name", "role": "developer"}'Try now: use bds_demo_public_readonly_key_2025 — 50 req/day, read-only, no registration.
curl "https://api.bds.chat/listings?district=Binh+Tan&max_price=5000000000" \ -H "Authorization: Bearer YOUR_KEY" # Response fields by source: # trust_grade — computed (from quality, risk, completeness) # quality_score — computed (data completeness + image + description) # price_vnd — user-submitted (from listing source) # district — user-submitted (normalized on ingest)
Returns trust grade (A-F), government price comparison, zoning status, risk assessment, and data completeness.
curl "https://api.bds.chat/listings/LISTING_ID/trust-report" \ -H "Authorization: Bearer YOUR_KEY" # Key response fields: # trust_grade — computed (A-F from quality, risk, completeness) # quality_score — computed (data completeness scoring) # risk_score — computed (9 subscores aggregated) # gov_price_per_m2 — sourced: NQ 87/2025 (state land-price table) # legal_status — user-submitted (from listing source) # market_gov_ratio — computed (listing price / gov price)
Auto-scored on creation. Use ?mine=true to search only your listings.
curl -X POST https://api.bds.chat/listings \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Dat nen Binh Tan 80m2",
"source": "your-platform", // user-submitted
"source_listing_id": "your-id-123", // user-submitted
"price_vnd": 3000000000, // user-submitted
"area_m2": 80, // user-submitted
"district": "Binh Tan", // user-submitted
"legal_status": "so_hong_rieng" // user-submitted
}'
# trust_grade, quality_score, risk_score — computed on creationCross-checked against listing data. Area, land type, and address mismatches are flagged automatically.
curl -X POST "https://api.bds.chat/listings/LISTING_ID/documents" \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"doc_type": "so_hong", "document_number": "BT-2024-001", "area_m2": 80}'| Method | Path | Description |
|---|---|---|
| GET | /listings | Search with 15+ filters |
| POST | /listings | Create a listing |
| POST | /listings/batch | Batch create (up to 1000) |
| PUT | /listings/{id} | Update your listing |
| GET | /listings/{id}/trust-report | Trust assessment (A–F) |
| POST | /listings/{id}/documents | Submit title deed / permit |
| GET | /meta/gov-land-price/compare | Market vs government price |
| GET | /meta/risk/check | 7-factor risk assessment |
Browse endpoints on the left. See live code examples on the right.
curl "https://api.bds.chat/listings?district=Binh+Tan&max_price=5000000000&limit=10" \ -H "Authorization: Bearer YOUR_API_KEY"
# Search listings in Binh Tan under 5 billion VND
$ curl "https://api.bds.chat/listings?district=Binh+Tan&max_price=5000000000&limit=3" \
-H "Authorization: Bearer sk_live_..."
{
"total": 23,
"page": 1,
"limit": 3,
"listings": [
{
"id": "985fafb9-8503-4e86-9056-d385851708ac",
"title": "Nha Dat Binh Tan 78m2 - Hem 6m",
"trust_grade": "B", // computed
"quality_score": 0.72, // computed
"price_billion": 3.5, // user-submitted
"district": "Binh Tan" // user-submitted
},
// ... 2 more
]
}4 access tiers from anonymous read to partner sync. Per-key rate limiting with clear 429 responses. API keys rotate without downtime.
ClickHouse-backed usage tracking records every request, search query, listing view, and image fetch. Usage dashboards available per API key.
24 routes, zero undocumented fields. Every response shape described in OpenAPI 3.1, every field annotated, every error code cataloged.
Get your API key, hit /listings, inspect payloads. Understand the data shape in minutes.
Add trust badges, price context, and quality indicators to your property pages.
Wire up streaming chat. Your users ask questions about listings and get cited answers.
Sync inventory bidirectionally. Publish your listings through the trust pipeline.
Normalized listings, data-trust grades, state land-price comparisons, risk signals, and scoped listing chat are ready to integrate. Your team still controls the user workflow and verification steps.
Get API AccessOr explore the endpoints first ↓