The TerraSight API
Everything the UI can do, programmatically — free during early access. Data is refreshed nightly from public EU sources (methodology and licences: /methodology).
Authentication & quotas
X-API-Key header — that lifts you from the anonymous per-IP limits to 1,000 requests/day per key. Anonymous use works too: 60 screener runs/hour per IP. Over-limit responses are 429 with a Retry-After header; invalid keys are rejected with 401 so typos never fail silently.GET/api/screener
Rank all regions under a mandate — the same engine the UI uses.
| archetype | logistics | manufacturing | office | residential (preset weights) |
| weights | custom weights, e.g. energy:25,logistics:15,cost:15 — overrides archetype |
| countries | comma-separated ISO codes, e.g. PL,CZ,SK |
| minPop | minimum population, e.g. 200000 |
| maxAirportKm | max km to a large airport, e.g. 100 |
| limit | rows returned, max 200 (default 50) |
JSON: { mandate, universe, scored, results[] } — each result carries score, per-pillar contributions, imputed pillars and red flags (incl. flood exposure).
curl -H "X-API-Key: ts_..." \ "https://app.terrasight.eu/api/screener?archetype=logistics&countries=PL,CZ&minPop=200000&limit=25"
GET/api/rankings
EU-wide ranking of any of the 100+ indicators, as CSV.
| indicator | indicator id (see /rankings picker) or composite key (opportunity, momentum, …) |
| dir | desc | asc |
| country | optional ISO filter |
CSV: rank, nuts3_id, name, country, value, period, eu_percentile.
curl "https://app.terrasight.eu/api/rankings?indicator=opportunity&dir=desc"
GET/api/regions/{nuts3_id}/export
Full analyst tearsheet for one region.
| nuts3_id | in the path, e.g. NL224 |
CSV: every indicator with latest value, period, EU percentile, plus composite scores.
curl "https://app.terrasight.eu/api/regions/NL224/export"
GET/api/demo-matrix
Bulk percentile matrix — all 1,211 regions × 15 pillars + flood share, one call.
| — | no parameters; day-cached |
JSON: { generated, pillars[15], regions[][] } — each row: [nuts3_id, name, country, population, …15 pillar percentiles, flood_share_pct].
curl "https://app.terrasight.eu/api/demo-matrix"
Fair use
The API is free for real analytical work during early access. Please cache what you can (rankings and the matrix change at most nightly), keep request rates human-scale, and attribute TerraSight when you publish derived work. The underlying sources are open EU data — our value is the harmonization, and we like being cited for it.