Skip to Content
Vision screen. A design concept for a later release, with sample content. The buttons do nothing yet.

Data API portal

A data subscriber manages API keys, reads the endpoint reference and follows usage in one place.

AccountSample Research Firm AInsight Pro plan
Calls this month18,420Of 50,000 included
Active keys21 revoked
Average response time180 msSample figure, last 7 days

API keys

NameKeyScopesCalls this monthLast usedStatus
Production dashboardtg_sample_key_...4f2aradar:read index:read personas:read15,960Today, 09:14Active
Analyst notebooktg_sample_key_...9c1dradar:read2,460Yesterday, 16:40Active
Old test keytg_sample_key_...07beindex:read012 MayRevoked

37% of the monthly allowance used. The allowance resets on the first day of each month.

/v1/radar/weekly

GET radar:read

Weekly demand by buyer country and city.

{
  "week": "2026-W39",
  "city": "Makkah",
  "rows": [
    {"country": "ID", "searches": 4210,
     "change_pct": 12},
    {"country": "GB", "searches": 2980,
     "change_pct": -3}
  ],
  "sample": true
}

/v1/index/quarter

GET index:read

Quarterly price index per zone and unit type.

{
  "quarter": "2026-Q3",
  "zone": "Madinah Central",
  "unit_type": "2-bedroom",
  "sar_per_sqm": 13200,
  "index": 108.4,
  "base": "2025-Q1 = 100",
  "sample": true
}

/v1/personas

GET personas:read

Buyer personas with budget range and stated needs.

{
  "personas": [
    {"id": "id-family",
     "label": "Indonesian family",
     "budget_sar": [900000, 1600000],
     "needs": ["3 bedrooms",
               "prayer room"]}
  ],
  "sample": true
}

Example request

GET /v1/radar/weekly?city=makkah&week=2026-W39
Authorization: Bearer tg_sample_key
Accept: application/json

HTTP 200 OK
X-Calls-Remaining: 31580

The key shown is a sample and does not work. All data is aggregated; no response contains a person's details.

Calls per day

0 1,000 2,000 18 Sep 24 Sep 1 Oct

Green: calls per day across all keys, last 14 days. The peak was 1,860 calls on 30 September. Sample figures.