Open Data

API

A public, versioned, CORS-enabled API over community-verified circular economy data. Free to use under the MIT licence. Rate limit: 100 requests/hour (unauthenticated), 1000/hour (authenticated). All responses include an open-data licence notice.

GET/api/v1/resources?city=stuttgart&type=composting

Verified resources, filterable by city and type.

GET/api/v1/resources/{id}

A single verified resource.

GET/api/v1/cities

All configured cities with resource counts.

GET/api/v1/cities/{city}/coverage

Coverage score, resource breakdown, 30-day trends, and gaps.

GET/api/v1/cities/{city}/gaps

Underserved areas only (requires district boundaries).

GET/api/v1/cities/{city}/export.csv

Full verified resource dump as CSV.

GET/api/v1/cities/{city}/export.geojson

Resources as GeoJSON — load directly into QGIS.

GET/api/v1/stats

Global platform statistics.

Example

curl https://ecoloop.city/api/v1/cities/stuttgart/coverage

{
  "city": "stuttgart",
  "verified_resources": 18,
  "coverage_score": 0.28,
  "population_per_resource": 35278,
  "resource_breakdown": { "composting": 2, "farm": 6, ... },
  "trends": { "resources_added_30d": 4, "verifications_30d": 11 },
  "gaps": [],
  "last_updated": "2026-05-30T10:00:00Z"
}

For GIS teams

The export.geojson endpoint returns a standard FeatureCollection. In QGIS: Layer → Add Layer → Add Vector Layer, then paste the URL. Each feature carries name, type, address, tags, and verification metadata.

We use essential cookies for login and analytics. By accepting you help us improve the pilot.
Open Data API | ecoloop