Places
Download the complete places collection as GeoJson
GET /places.geojson
Returns one complete, current, filterable projection with no cursor pagination.
Request policy
- Operation
downloadPlacesGeoJson- Access
- anonymous
- Automatic retries
- None
- Redirects
- Returned to the caller without following
- Request body limit
- No request body
- Pagination
- No collection iterator
Parameters
city string
Filter by city
country string
Filter by country
category string
Filter by category
Allowed: "food" | "coffee" | "bars" | "nature" | "entertainment" | "lodging" | "other"
neighborhood string
Filter by neighborhood
q string
Case-insensitive search across place name and location metadata
Responses
200
Complete GeoJson places export
Response headers
{
"Content-Usage": {
"description": "IETF AIPREF usage preferences for this public content",
"schema": {
"type": "string",
"examples": [
"train-ai=y, search=y"
]
}
},
"Content-Signal": {
"description": "Compatibility AI usage preferences for deployed crawlers",
"schema": {
"type": "string",
"examples": [
"ai-train=yes, search=yes, ai-input=yes"
]
}
},
"API-Version": {
"description": "Selected public REST contract version",
"schema": {
"type": "string",
"enum": [
"1.0.0"
]
}
},
"RateLimit-Policy": {
"description": "Public REST quota policy: 1000 Worker requests per 60 seconds for each source and Cloudflare location",
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"description": "Compatibility form of the current public REST request limit",
"schema": {
"type": "integer",
"enum": [
1000
]
}
},
"ETag": {
"description": "Entity tag for conditional requests",
"schema": {
"type": "string"
}
},
"Last-Modified": {
"description": "Last modification date (HTTP IMF-fixdate)",
"schema": {
"type": "string",
"pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$",
"examples": [
"Sun, 06 Sep 2026 17:40:13 GMT"
]
}
},
"Cache-Control": {
"description": "Caching directives",
"schema": {
"type": "string"
}
},
"X-Total-Count": {
"description": "Total number of items",
"schema": {
"type": "integer"
}
},
"Link": {
"description": "RFC 8288 Web Linking header with pagination links",
"schema": {
"type": "string"
}
},
"Link-Template": {
"description": "RFC 9652 Link-Template header with query parameter templates",
"schema": {
"type": "string"
}
},
"Deprecation": {
"description": "RFC 9745 lifecycle deprecation signal",
"schema": {
"type": "string"
}
},
"Sunset": {
"description": "RFC 8594 lifecycle sunset date (HTTP IMF-fixdate)",
"schema": {
"type": "string",
"pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$",
"examples": [
"Sun, 06 Sep 2026 17:40:13 GMT"
]
}
}
}application/geo+json
CompletePlacesGeoJson
Schema details
type unknown required
bbox array
attribution string required
licenses string[] required
Schema details
string (uri)
features object[] required
Schema details
object
Schema details
type unknown required
id string required
geometry object required
Schema details
type unknown required
coordinates array required
properties object required
Schema details
canonicalId string required
name string required
category string required
categories string[] required
Schema details
string
address string required
neighborhood string required
city string required
country string required
latitude number required
longitude number required
website string required
Schema details
string (uri)
unknown
notes string required
url string required (uri)
googleMapsUrl string required (uri)
appleMapsUrl string required (uri)
geoUri string required
updatedAt string required (date-time)
locationSource string required
Allowed: "owner" | "openstreetmap" | "overture" | "us_census" | "wikidata"
locationSourceId string required
locationSourceUrl string required
Schema details
string (uri)
unknown
locationEvidenceUrl string required
Schema details
string (uri)
unknown
locationReviewedAt string required
Schema details
string (date-time)
unknown
attribution string required
dataLicense string required (uri)
304
Not Modified
400
Bad Request
application/problem+json
ProblemDetails
Schema details
type string required (uri)
Problem type URI (see /problems/)
title string required
Short human-readable summary
status number required
HTTP status code
detail string required
Human-readable explanation
instance string (uri)
URI reference for this occurrence
Examples
Examples use synthetic fixture values. Replace fixture identifiers with public IDs returned by the service. Request bodies and precise locations are transient; keep them out of logs.
curl
curl --fail-with-body --max-time 30 --max-filesize 16777216 --request GET 'https://irvinebroque.com/places.geojson' --header 'Accept: application/geo+json'TypeScript
import { PublicApi } from '@irvinebroque/public-api';
const api = new PublicApi();
const result = await api.places.geojson({});
console.log(result.status, result.headers.get('content-type')); // Keep transient capabilities in memory.CLI
irvinebroque places geojsonThe SDK preserves status, headers, and the server envelope. A 304 has no fresh body. Errors retain structured problem details; ordinary error messages omit response details. Responses are limited to 16 MiB and requests time out after 30 seconds by default.