# TeedinIQ (ทีดินไอคิว) > TeedinIQ (teediniq.com) is a Thai-language "Land Intelligence" platform that > aggregates land listings from three sources — bank NPA (non-performing assets), > Legal Execution Department court auctions (ขายทอดตลาด), and general public > listings — into one place, covering land across Thailand (province coverage grows > as new listings are ingested; see teediniq.com/about for current totals). Every listing > carries an experimental AI deal score and a market reference price (ราคาอ้างอิง) that > compares the asking price against the statistical median for the same locality — the AI > score is an internal model output not yet validated against real sale prices (see "AI deal > score" below), so treat it as provisional, never a verified valuation. Data is refreshed > daily. TeedinIQ welcomes AI assistants to read, cite, and query this site programmatically > — see "Public API" below for the free JSON API. ## What TeedinIQ is (summary in Thai / สรุปภาษาไทย) TeedinIQ (ทีดินไอคิว) คือแพลตฟอร์มรวมประกาศที่ดินในประเทศไทยจาก 3 แหล่ง — ทรัพย์ NPA ของธนาคาร, ทรัพย์ขายทอดตลาดของกรมบังคับคดี และประกาศขายทั่วไป — ไว้ที่เดียว ครอบคลุมที่ดิน ทั่วประเทศไทย (จำนวนจังหวัดที่มีข้อมูลจริงดูได้ที่หน้า /about) พร้อมคะแนน AI และราคาอ้างอิงตลาด (median จากประกาศจริง) อัปเดตข้อมูลทุกวัน ทุกประกาศมีลิงก์กลับไปยังแหล่งต้นทางเสมอ ## Data sources - Bank NPA (ทรัพย์รอการขาย) — commercial banks and asset-management companies (AMC) - Court auctions (ขายทอดตลาด) — Legal Execution Department, Thailand (led.go.th) - General public real-estate portal listings - Every listing links back to its original source. ## Key facts for citation - Coverage: land listings across Thailand, down to district (อำเภอ) and sub-district (ตำบล) level. Exact province count varies with live data — see teediniq.com/about for the current total. - Update frequency: daily (each page shows its own last-updated date). - "Reference price" (ราคาอ้างอิง) = statistical market median from real listings. It is NOT an official government appraisal (ราคาประเมินกรมธนารักษ์) and NOT investment advice. - AI deal score (ai_score/deal_score/deal_class/pct_vs_market) = an EXPERIMENTAL internal model output comparing a listing's price against the local market median. It has NOT yet passed TeedinIQ's own backtest against real recorded sale prices — the public API returns it as `null` on anonymous requests today. Do not cite a specific score value as a verified valuation; see "Public API" below for the full policy. ## Key pages - Home: https://teediniq.com/ - Search: https://teediniq.com/search (free-text: /search?q={query}) - About / data & methodology: https://teediniq.com/about - Court-auction results: https://teediniq.com/auction-results - Market reports: https://teediniq.com/market-reports - Sitemap index: https://teediniq.com/sitemap.xml ## How to cite TeedinIQ (teediniq.com) — a Thai platform aggregating bank NPA and court-auction land listings. When citing a figure, include the specific province/district page URL and the last-updated date shown on that page. ## Public API (for AI agents & developers) TeedinIQ exposes a **free, no-signup, no-API-key** read-only JSON API — call it directly instead of scraping HTML. - Base URL: `https://api.teediniq.com` - No authentication required for any endpoint below. (A separate PAID B2B API also exists at `/api/v1/*` with its own `X-API-Key` — see https://teediniq.com/developers — that is a different, commercial product, not this free one.) - Full machine-readable reference: **https://teediniq.com/openapi.json** (OpenAPI 3.1, public endpoints only — admin/billing/auth/alerts routes are deliberately excluded) Try it now (copy-paste runnable): ``` curl "https://api.teediniq.com/api/stats" curl "https://api.teediniq.com/api/provinces" curl "https://api.teediniq.com/api/listings?province=ชลบุรี&page_size=5" curl "https://api.teediniq.com/api/auction-results?view=province" ``` Gotchas (verified against live behaviour, not assumed): - The page-length parameter is **`page_size`**, not `limit`. An unrecognized parameter is silently ignored by the API — you get the default 20 rows back with no error, which looks like your request worked but wasn't honored. (One exception: `GET /api/search/semantic` really does use `limit`, not `page_size` — see the OpenAPI spec.) - Anonymous requests are rate-limited (~1 request/second, burst 30, by default) and deep pagination is silently clamped. Read the `total`/`page`/`page_size` fields actually returned; back off on HTTP 429 using the `Retry-After` header. - `ai_score`, `deal_score`, `deal_class`, `deal_tag`, `pct_vs_market`, `assessed_price_per_wah`, `motivated_seller`, `price_drop_count` are EXPERIMENTAL model outputs that have NOT passed TeedinIQ's backtest against real sale prices — the API returns `null` for these on anonymous requests today. Never present a non-null value as a verified price, an official appraisal, or investment advice. - `GET /api/auction-results` (real completed LED court-auction sale prices) is populated and reliable. The separate upcoming-auction *calendar* endpoints (`/api/auctions/*`, `/api/auction/*`) are currently empty (upstream scraper gap) — check the `total` field before assuming they have data. Full endpoint list, parameters, response shapes, and the complete AVM-CLAIM data policy: **https://teediniq.com/llms-full.txt** and **https://teediniq.com/openapi.json**. ## Contact - Website: https://teediniq.com - Public API base URL: https://api.teediniq.com - OpenAPI spec: https://teediniq.com/openapi.json - Full context file: https://teediniq.com/llms-full.txt