Skip to content
TerraSightEUSign in
Developers

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

Create an API key on My Desk (free account, up to 5 active keys) and send it as an 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.

Parameters for /api/screener
archetypelogistics | manufacturing | office | residential (preset weights)
weightscustom weights, e.g. energy:25,logistics:15,cost:15 — overrides archetype
countriescomma-separated ISO codes, e.g. PL,CZ,SK
minPopminimum population, e.g. 200000
maxAirportKmmax km to a large airport, e.g. 100
limitrows 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.

Parameters for /api/rankings
indicatorindicator id (see /rankings picker) or composite key (opportunity, momentum, …)
dirdesc | asc
countryoptional 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.

Parameters for /api/regions/{nuts3_id}/export
nuts3_idin 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.

Parameters for /api/demo-matrix
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.

API documentation — TerraSight