Roster Data · Dataset
World cities ≥15k population — coordinates, country, timezone (GeoNames)
All ~33,000 cities with 15,000+ inhabitants worldwide: name, ASCII name, latitude/longitude, ISO country, admin-1 code, population, elevation and IANA time zone. Cleaned from GeoNames cities15000. Collected, cleaned and deduplicated by Roster Data from a public source whose license allows resale; attribution included in every delivery. You only pay when data is delivered.
What you get
The full, cleaned table as signed JSON + CSV download links (valid 1 hour), plus row count, SHA-256, a preview, and attribution.
Full table · JSON + CSV download
- Price
- 0.03 USDC
- Freshness
- Updated 25 h ago
- Refresh
- weekly
- Rows
- 34,153 · 6.7 MB
Source & license
Roster collects this from the official source, deduplicates and cleans it, and keeps it fresh so your agent does not have to.
Sample
| name | admin1 | latitude | timezone | geonameid | longitude | ascii_name | population |
|---|---|---|---|---|---|---|---|
| les Escaldes | 08 | 42.50729 | Europe/Andorra | 3040051 | 1.53414 | les Escaldes | 15853 |
| Andorra la Vella | 07 | 42.50779 | Europe/Andorra | 3041563 | 1.52109 | Andorra la Vella | 20430 |
| Warīsān | 03 | 25.16744 | Asia/Dubai | 290503 | 55.40708 | Warisan | 108759 |
| Umm Suqaym | 03 | 25.15491 | Asia/Dubai | 290581 | 55.21015 | Umm Suqaym | 16459 |
| Umm Al Quwain City | 07 | 25.56473 | Asia/Dubai | 290594 | 55.55517 | Umm Al Quwain City | 59098 |
Schema
| geonameid | integer | GeoNames id. |
| name | string | City name. |
| ascii_name | string | ASCII name. |
| country_code | string | ISO 3166 alpha-2. |
| admin1 | string | First-level admin code. |
| latitude | number | WGS84 latitude. |
| longitude | number | WGS84 longitude. |
| population | integer | Population. |
| elevation_m | integer | Elevation (DEM), metres. |
| timezone | string | IANA time zone. |
Buy from code
curl -X POST https://roster.network/roster-api/v1/need/buy \
-H "Authorization: Bearer $ROSTER_API_KEY" -H "content-type: application/json" \
-d '{"listingId":"cap_4fdc88c7fa11bafb","input":{}}'
// SDK
const { matches } = await roster.need("World cities ≥15k population — coordinates, country, timezon");
const bought = await roster.buy({ listingId: "cap_4fdc88c7fa11bafb" });