GeoNames Places + Postal Codes Scraper avatar

GeoNames Places + Postal Codes Scraper

Pricing

from $16.00 / 1,000 result items

Go to Apify Store
GeoNames Places + Postal Codes Scraper

GeoNames Places + Postal Codes Scraper

Pull populated places, admin divisions, and postal codes from GeoNames bulk dumps. Returns geonameId, name, lat/lng, population, elevation, timezone, alternate names, admin codes. Three modes: global cities (200K+ ≥1000 pop), full per-country dump, or postal codes per country. No API key needed.

Pricing

from $16.00 / 1,000 result items

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

Share

ParseForge Banner

📍 GeoNames Places + Postal Codes Scraper

🚀 Pull populated places, admin divisions, and postal codes from GeoNames: lat/lng, hierarchy, population, timezone, alternate names.

🕒 Last updated: 2026-05-07 · 📊 22 fields per record · 12M+ places · admin1/2/3 hierarchy · stable codes · postal codes · alternate names in 100+ languages

The GeoNames Places + Postal Codes Scraper pulls reference geographic data from GeoNames, the most-cited open gazetteer worldwide. Output includes the geonameId, place name (in the requested language), country, full administrative hierarchy with stable codes, latitude/longitude, population, elevation, timezone, and feature classification.

GeoNames covers 12+ million populated places plus 4M+ alternate names, every official administrative division, and country postal codes. Three modes: search by name, list children of a country/admin division, or pull postal codes by country. Use cases include localized dropdowns, address autocomplete, geo-aware search, and OPAC integrations.

🎯 Target Audience💡 Primary Use Cases
Travel platforms, e-commerce checkout, address autocomplete, geo-search, GIS engineers, journalistsCountry/state/city dropdowns, postal-code validation, geo-aware search, fact-card population, alt-name disambiguation

📋 What the GeoNames Places + Postal Codes Scraper does

Five filtering workflows in a single run:

  • 🔍 Search by name. Match populated places by name with optional country and feature-class filter.
  • 🗺️ Admin hierarchy. List every populated place under a country, with admin1/2/3 codes.
  • 📮 Postal codes. Pull every postal code in a country with city + admin attribution.
  • 🌐 Multilingual names. Place names in 20+ languages with lang parameter.
  • 📊 Rich metadata. Population, elevation, timezone, feature class for every record.

💡 Why it matters: clean, server-side filtering and fresh data on every run.


🎬 Full Demo

🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded dataset.


⚙️ Input

InputTypeDefaultBehavior
maxItemsinteger10Records to return. Free plan caps at 10, paid plan up to 1,000,000.
modestring"cities"cities (global ≥1000 pop), country (full per-country dump), postalcodes (per country).
countrystring""ISO-2 country code. Required for country and postalcodes modes.
querystring""Name substring filter (matches name + ASCII + alternate names).
featureClassstring""P=populated, A=admin, H=hydro, T=terrain, etc.
minPopulationinteger0Filter to places with at least this population.

Example: search London worldwide.

{
"maxItems": 50,
"mode": "cities",
"query": "London"
}

Example: every postal code in Germany.

{
"maxItems": 2000,
"mode": "postalcodes",
"country": "DE"
}

📊 Output

Each record contains 22 fields. Download as CSV, Excel, JSON, or XML.

🧾 Schema

FieldTypeExample
🆔 geonameIdnumber2643743
📛 namestring"London"
📛 toponymNamestring"London"
🆔 countryCodestring"GB"
🌍 countryNamestring"United Kingdom"
🗺️ adminCode1string"ENG"
🗺️ adminName1string"England"
🌐 latnumber51.5074
🌐 lngnumber-0.1277
👥 populationnumber8961989
📐 elevationnumbernull
🕒 timezoneIdstring"Europe/London"
🏷️ featureClassstring"P"
🏷️ featureCodestring"PPLC"
🔗 geonamesUrlstring"https://www.geonames.org/2643743/"
📮 postalCodestringnull

📦 Sample records


✨ Why choose this Actor

Capability
📚12M+ places. Most cited open gazetteer worldwide.
🌐100+ languages. Place names + alternate names in many languages.
🗺️Stable hierarchy. admin1/2/3 codes that join across data sources.
📮Postal codes built in. Per-country postal-code lookup.
Fast. 100 records in under 30 seconds.

📈 How it compares to alternatives

ApproachCostCoverageRefreshFiltersSetup
⭐ This Actor$5 free credit12M+ placesLive per runmode, query, country, feature⚡ 2 min
Manual geonames.org browseFreeManualLiveWeb filters🕒 Manual
Mapbox / Google Geocoding$$Similar but paidLiveYes🐢 API key
Raw GeoNames CSV dumpFreeAllMonthlyBulk only🐢 ETL pipeline

🚀 How to use

  1. 📝 Sign up. Create a free account with $5 credit (takes 2 minutes).
  2. 🌐 Open the Actor. Find the GeoNames Places + Postal Codes Scraper on the Apify Store.
  3. 🎯 Set input. Pick filters and maxItems.
  4. 🚀 Run it. Click Start.
  5. 📥 Download. Grab results in the Dataset tab as CSV, Excel, JSON, or XML.

⏱️ Total time from signup to dataset: 3-5 minutes. No coding required.


💼 Business use cases

🛒 E-commerce + SaaS

  • Country/state/city dropdown UIs
  • Postal-code validation on checkout
  • City autocomplete with population sort
  • Tax-region routing

✈️ Travel + Logistics

  • Place autocomplete for trip planners
  • City pages for travel content
  • Distance-from-airport queries
  • Multi-language city names

🎓 Education + Research

  • Geography quiz apps
  • Reproducible place datasets
  • Course materials
  • Geo-data primers

🤖 NLP + ML

  • Train geo-NER models
  • Build geo-aware embeddings
  • Power location-mention extraction
  • Reverse-geocode datasets

🔌 Automating GeoNames Places + Postal Codes Scraper

Control the scraper programmatically:

  • 🟢 Node.js. Install the apify-client NPM package.
  • 🐍 Python. Use the apify-client PyPI package.
  • 📚 See the Apify API documentation for full details.

The Apify Schedules feature lets you trigger this Actor on any cron interval.


🌟 Beyond business use cases

Data like this powers more than commercial workflows.

🎓 Research and academia

  • Cross-language place studies
  • Reproducible gazetteer snapshots
  • Course exercises
  • Cultural-geography research

🎨 Personal and creative

  • Personal travel maps
  • Hobby cartography
  • Newsletter content
  • Side projects with place data

🤝 Non-profit and civic

  • NGO geographic context
  • Open-data contributions
  • Civic-tech projects
  • Multilingual literacy resources

🧪 Experimentation

  • Train geo-NER models
  • Prototype location-aware agents
  • Build map-overlay experiments
  • Test geocoding pipelines

🤖 Ask an AI assistant about this scraper

Open a ready-to-send prompt in the AI of your choice:


❓ Frequently Asked Questions

🔑 Do I need a GeoNames account?

No. The Actor downloads GeoNames bulk dumps directly (no username, no API key). Bulk dumps are GeoNames' canonical distribution and refresh daily.

🧩 How does it work?

Pick a mode and supply the relevant filters. The Actor calls the GeoNames JSON API and emits one record per place, admin division, or postal code.

📊 How many fields per record?

Up to 22, including geonameId, name, country, admin hierarchy, lat/lng, population, elevation, timezone, feature class/code, and direct GeoNames URL.

🌐 Which languages are supported?

20+ via the language parameter, including English, Spanish, French, German, Italian, Portuguese, Japanese, Chinese, Russian, Arabic.

🏷️ What are feature classes?

GeoNames classifies places by type: P=populated places, A=admin divisions, H=hydrographic, T=terrain, S=spots/buildings, V=vegetation, R=roads, U=undersea, L=parks/areas.

🔁 Can I schedule runs?

Yes. Use Apify Schedules for periodic refreshes.

⚖️ Is this data free?

Yes. GeoNames publishes under Creative Commons Attribution that permits commercial reuse with attribution.

💳 Do I need a paid Apify plan?

No. The free plan covers preview runs.

🆘 What if a run fails?

Apify retries transient errors. Most failures stem from invalid usernames or rate limits — register your own free GeoNames account for reliable runs.

📮 How do postal codes work?

Each postal-code record includes the code, locality, country, admin1/2 codes/names, and lat/lng. Coverage varies by country.


🔌 Integrate with any app

GeoNames Places + Postal Codes Scraper connects to any cloud service via Apify integrations:

  • Make - Automate multi-step workflows
  • Zapier - Connect with 5,000+ apps
  • Slack - Get run notifications
  • Airbyte - Pipe data into your warehouse
  • GitHub - Trigger runs from commits
  • Google Drive - Export datasets to Sheets

💡 Pro Tip: browse the complete ParseForge collection for more reference-data scrapers.


🆘 Need Help? Open our contact form to request a new scraper, propose a custom data project, or report an issue.


⚠️ Disclaimer: this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by GeoNames or any contributing geographic-data provider. All trademarks mentioned are the property of their respective owners. Only publicly available open data is collected.