---
title: "Get administrative boundary metadata with download URLs."
method: GET
path: "/api/v1/data/boundaries"
---

# Get administrative boundary metadata with download URLs.

`GET /api/v1/data/boundaries`

Returns metadata and download URLs from geoBoundaries API responses.
Clients should use gjDownloadURL to fetch the actual GeoJSON geometry.

Query Parameters:
- level: Administrative level (0, 1, or 0,1 for mixed levels, default: 0)
- release_type: geoBoundaries release type
  (gbOpen, gbHumanitarian, gbAuthoritative, default: gbOpen)
- id: Filter by ID (boundaryISO for ADM0, shapeID for ADM1)
- iso: Filter by ISO country code (applies to both levels)
- name: Filter by name (partial match, case-insensitive) - ONLY works for level=0
  (ADM0). Not supported for level=1 as there are no download links for
  individual admin1 units, only country-level downloads.
- page: Page number for pagination (default: 1)
- per_page: Results per page (default: 100, max: 1000)
- created_at_since: Filter boundaries created since this datetime (ISO format)
- updated_at_since: Filter boundaries updated since this datetime (ISO format)

Release Types (as per geoBoundaries API):
- gbOpen: CC-BY 4.0 compliant, most open license (default)
- gbHumanitarian: Mirrored from UN OCHA, may have less open licensure
- gbAuthoritative: Mirrored from UN SALB, verified through in-country
  processes, no commercial use

Returns:
- 200: Boundary metadata matching query criteria
- 400: Invalid query parameters
- 404: No boundaries found matching criteria

Example Requests:
- /api/v1/data/boundaries?level=0&iso=USA
- /api/v1/data/boundaries?level=0&name=united (name filter only for ADM0)
- /api/v1/data/boundaries?level=1&iso=USA (ADM1 by country)
- /api/v1/data/boundaries?level=0,1&iso=USA (mixed levels)
- /api/v1/data/boundaries?release_type=gbHumanitarian&iso=SYR
- /api/v1/data/boundaries?release_type=gbAuthoritative&level=0
- /api/v1/data/boundaries?updated_at_since=2023-01-01T00:00:00Z

Note: Name filtering is NOT supported for level=1 (ADM1) because geoBoundaries
only provides country-level downloads for admin1 units, not individual polygon
downloads. Use the hierarchy endpoint to see admin1 unit names.

Response includes:
- boundaryISO: ISO country code
- releaseType: Release type (gbOpen, gbHumanitarian, or gbAuthoritative)
- boundaryName: Name of the boundary
- boundaryType: "ADM0" or "ADM1"
- Continent: Continent name
- buildDate: Date the boundary was built (use for updated_at)
- gjDownloadURL: GeoJSON download URL (use this to fetch geometry)
- tjDownloadURL: TopoJSON download URL
- Other geoBoundaries metadata fields

## Response `200`

Success

- object

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

---

[API](https://skmtc.dev/trends/apis/trends-earth-api.md) · [All operations](https://skmtc.dev/trends/apis/trends-earth-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/trends/trends-earth-api/revisions/6bdbc0b84666/schema)
