OpenStreetMap Nominatim Places Scraper avatar

OpenStreetMap Nominatim Places Scraper

Pricing

from $7.69 / 1,000 results

Go to Apify Store
OpenStreetMap Nominatim Places Scraper

OpenStreetMap Nominatim Places Scraper

Searches OpenStreetMap Nominatim for a place or address query and returns each match as a flat row with coordinates, bounding box, full address hierarchy, and OSM metadata.

Pricing

from $7.69 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Share

ParseForge

OpenStreetMap Nominatim Places Scraper

Scrape OpenStreetMap place data for any address, landmark, or point of interest. Get structured geodata including coordinates, bounding boxes, full address hierarchy, and OSM IDs. Export to CSV, JSON, Excel, or XML.

OpenStreetMap's Nominatim API rate-limits and requires you to parse nested JSON. This Actor queries the public search endpoint directly, normalizes every result into a flat row, and handles pagination so you can collect up to a million places per run. No API key, no geocoding service contract.

Who uses itWhat they scrape OpenStreetMap Nominatim for
Real estate analystsGeocode property addresses and extract neighborhood-level place data for site selection reports.
Logistics plannersValidate warehouse and delivery-point coordinates against OpenStreetMap's open dataset.
Data journalistsMap the distribution of named landmarks or amenities across a city for investigative stories.
GIS specialistsBulk-collect OSM place IDs and bounding boxes to seed a custom map layer.

What it does

This Actor searches OpenStreetMap Nominatim for a place query and returns each matching location as a flat, structured row with coordinates, address components, and OSM metadata.

  • πŸ“ Free-text search: type any place name, address, or point of interest and get every Nominatim match.
  • πŸ—ΊοΈ Full geodata per row: latitude, longitude, bounding box, and OSM place type and ID.
  • 🏠 Address hierarchy: each result includes country, state, city, postcode, and street components where available.
  • πŸ“¦ Flat output: nested Nominatim JSON is unpacked into one row per place, ready for spreadsheets or databases.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with OpenStreetMap Nominatim data

🏒 Geocode a property portfolio.

A real estate analyst pastes a list of addresses one by one, collects coordinates and OSM place IDs, and joins them with internal valuation spreadsheets.

πŸ—ΊοΈ Map every park in a city.

A GIS specialist searches 'parks in Barcelona', collects up to 10,000 results, and imports the bounding boxes into QGIS to build a green-space coverage map.

πŸ“Š Enrich a CRM with location data.

A sales ops manager runs company headquarters through the Actor, grabs lat/lon and address components, and pushes the flat CSV into Salesforce.

πŸ”Ž Validate user-submitted addresses.

A logistics planner feeds delivery addresses into the Actor, compares returned coordinates against known warehouse zones, and flags mismatches.

Why choose this scraper

What you get
No API key requiredQueries the public Nominatim endpoint so you can start scraping immediately without registration.
Flat, predictable schemaEvery result unpacks nested address and geodata into the same columns, avoiding manual JSON wrangling.
Up to a million placesSet a high maxItems value and let the Actor paginate through all available matches for broad-area searches.
OpenStreetMap dataUses the community-maintained OSM database, free of proprietary geocoder licensing restrictions.

How it compares

No other Store actor targets OpenStreetMap Nominatim the same way, so the honest comparison is with the alternatives teams actually weigh.

OpenStreetMap Nominatim Places ScraperBuild it in-houseBy hand
SetupRun it now, zero configDays of engineeringNone, but hours per pull
When OpenStreetMap Nominatim changesMaintained for youYou fix itYou re-learn the page
Proxies, retries, anti-botBuilt inYour problemBrowser only
OutputFixed JSON schema, CSV/Excel exportWhatever you buildCopy-paste
CostPay per resultEngineering timeAnalyst hours

Configure the run

Drive the Actor with a single search query, from a landmark name to a full street address, and set a maximum item count to cap the run. The Input tab lists every parameter.

A first run with the defaults:

{
"searchQuery": "Eiffel Tower",
"maxItems": 10
}

A larger pull:

{
"searchQuery": "Eiffel Tower",
"maxItems": 200
}

Pricing

Pay-per-result: $0.0085 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$0.85
1,000 results$8.50
10,000 results$85.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the OpenStreetMap Nominatim Places Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to OpenStreetMap Nominatim through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/osmnominatim-places-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your search query is specific enough. Very broad queries like 'shop' may return too many matches and time out. Try a more specific query like 'coffee shop in Portland' or include a city name.

The Actor is running very slowly.

Nominatim enforces a strict 1-request-per-second rate limit. If you set a high maxItems value, expect roughly one result per second. Reduce maxItems or run multiple queries in parallel using separate Actor runs.

Some address fields are empty in my results.

OpenStreetMap data completeness varies by region. If a place lacks a postcode or street name in OSM, those fields will be empty in your output. This reflects the underlying map data, not an error in the Actor.

I get a 'request blocked' or 403 error.

Nominatim may block requests that appear automated if the user-agent is missing. The Actor sets a proper user-agent, but if you encounter blocks, wait a few minutes and try again with a lower maxItems value.

The coordinates seem slightly off.

Nominatim returns the centroid of the place's bounding box. For large areas like a city, the coordinate represents the center point. For precise building-level coordinates, search for a specific street address.

FAQ

QuestionAnswer
Do I need an OpenStreetMap account or API key?No. This Actor queries the public, anonymous Nominatim endpoint. No account, key, or OAuth flow is required.
What is the rate limit?Nominatim's public usage policy allows a maximum of 1 request per second. The Actor respects this limit automatically to avoid being blocked.
Can I search for a category like 'restaurants near me'?Yes. Nominatim supports free-text queries including amenities and points of interest. Try queries like 'restaurants in Manhattan' or 'hotels near Eiffel Tower'.
What fields does each result row contain?Each row includes display name, latitude, longitude, bounding box, OSM place type, OSM ID, importance score, and a full breakdown of address components such as country, state, city, postcode, and street.
How many results can I get from one search?You set the maximum with the 'Maximum places' input field, up to 1,000,000. The Actor will paginate until it reaches your limit or exhausts the available matches.
Can I search in languages other than English?Nominatim returns results based on the local name tags in OpenStreetMap. Searching for 'MΓΌnchen' returns Munich with its German name, and address components appear in the local language where available.
Does this work for reverse geocoding?This Actor is designed for forward geocoding, which is searching by place name or address. Reverse geocoding by coordinates is not supported in this version.
What export formats are supported?You can export your dataset in CSV, JSON, Excel, or XML formats from the Apify platform.
Is the data real-time?Yes. Every run queries the live Nominatim API, so you get the latest OpenStreetMap data including recent community edits.
Can I schedule this Actor to run daily?Yes. Use Apify's scheduler to run the Actor on a recurring basis, for example to track changes to a set of place queries over time.

Browse the full ParseForge collection for more scrapers.

πŸ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by OpenStreetMap Foundation. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.