Overture Maps Places Extractor avatar

Overture Maps Places Extractor

Pricing

Pay per event

Go to Apify Store
Overture Maps Places Extractor

Overture Maps Places Extractor

🌍 Query public Overture Maps Places by bounding box or radius. Export normalized POIs, contacts, addresses, categories, coordinates, confidence, provenance, and GERS IDs.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

Extract public points of interest from Overture Maps Places without a Google Maps API key, browser, proxy, or login.

Choose a bounding box or a point and radius, add optional place filters, and receive a clean dataset of names, categories, addresses, contacts, coordinates, confidence scores, provenance, and stable GERS IDs.

The Actor reads Overture's official global GeoParquet release directly from public S3. DuckDB applies area and attribute predicates before returning a bounded result set, so your workflow does not download the full planet dataset.

  • 🌍 Search public global POI data by area.
  • 📍 Use a rectangle or point-and-radius workflow.
  • 🏷️ Filter by place name, Overture category, country, and confidence.
  • 📞 Export phones, emails, websites, and social links when available.
  • 🔁 Pin a release for repeatable GIS and enrichment jobs.
  • 🧩 Integrate through API, schedules, webhooks, Make, n8n, Zapier, or MCP.

What does Overture Maps Places Extractor do?

The Actor turns Overture Maps' large Places GeoParquet distribution into a simple Apify input and dataset.

Instead of operating DuckDB yourself, discovering new releases, understanding nested Overture fields, and flattening records for CSV or CRM imports, you provide one small JSON input.

For every matching place, the Actor can return:

  • GERS place ID;
  • primary and translated names;
  • primary, alternate, basic, and taxonomy categories;
  • free-form address, locality, postcode, region, and country;
  • phone numbers, emails, websites, and socials;
  • Overture confidence and operating status;
  • latitude and longitude;
  • source dataset and source record identifiers;
  • Overture release, record version, and public source URL.

The Actor automatically discovers the newest public release unless you supply a pinned release.

Who is it for?

Lead generation teams

Build territory lists of cafes, shops, restaurants, service providers, or other local organizations. Export contact fields to your qualification or enrichment pipeline.

GIS and location intelligence analysts

Create bounded POI layers for density comparisons, catchment analysis, market coverage, or map visualization. Stable GERS IDs help deduplicate and join records over time.

Retail and location planners

Compare business presence around candidate sites, transport hubs, neighborhoods, and competitor territories.

Data engineering teams

Schedule repeatable snapshots of selected regions, pin releases for reproducibility, and send structured output to warehouses or object storage.

Researchers and open-data users

Explore a commercial-use-friendly public map dataset without maintaining a Parquet query environment.

Why use this Overture Maps extractor?

  • Official public data: queries Overture's published Places release, not a protected consumer website.
  • No credentials: no API key, paid map account, cookies, or CAPTCHA solving.
  • Bounded queries: every run requires a geographic area and a strict output limit.
  • Useful normalization: nested source records become export-friendly place rows.
  • Reproducibility: use the latest release or pin a known release.
  • Apify-native delivery: datasets, schedules, webhooks, API clients, integrations, and MCP work out of the box.
  • Source transparency: output includes release and provenance fields.

Choose this Actor when open Overture data is appropriate. Choose a consumer-map scraper when you specifically need reviews, ratings, opening hours, photos, or ranking signals that Overture does not publish.

What Overture Maps place data can I extract?

FieldDescription
gersIdStable Overture GERS identifier
namePrimary place name
nameTranslationsAvailable language-to-name translations
categoryPrimary Overture category
alternateCategoriesAlternate Overture categories
basicCategoryBroad basic category
taxonomyHierarchyCategory hierarchy
addressFree-form address
localityCity or locality
postcodePostal code
regionState, province, or region
countryTwo-letter country code
phonesPublished phone numbers
emailsPublished email addresses
websitesPublished websites
socialsPublished social profile URLs
confidenceOverture confidence from 0 to 1
operatingStatusAvailable operating-status value
latitude, longitudeCoordinates derived from the point bbox center
sourceDatasetsContributing source datasets
sourceRecordIdsContributing source record IDs
versionOverture entity version
releaseQueried Overture release
sourceUrlPublic S3 Places prefix
extractedAtUTC extraction timestamp

Sparse source fields are emitted as empty arrays or omitted, rather than invented.

How to extract Overture Maps places

  1. Open the Actor input page.
  2. Keep the prefilled central-Berlin bounding box for a quick first run, or enter your own box.
  3. Alternatively, remove boundingBox and provide latitude, longitude, and radiusKm together.
  4. Add a category such as cafe, restaurant, shoe_store, or police_department if needed.
  5. Optionally add a name substring, country code, or minimum confidence.
  6. Set a conservative maxItems while validating your area.
  7. Start the Actor and inspect the Overture places dataset view.
  8. Export JSON, CSV, Excel, XML, or another Apify-supported format.
  9. Scale the limit or schedule the input after confirming the results.

A first bounded query normally completes well within the default timeout. Remote Parquet footer and row-group reads make startup slower than a small JSON API, so avoid splitting one area into many tiny runs unnecessarily.

Input parameters

InputTypeRequiredNotes
boundingBoxobjectOne area modewest, south, east, north; maximum 25 square degrees
latitudenumberPoint-radius mode-90 to 90
longitudenumberPoint-radius mode-180 to 180
radiusKmnumberPoint-radius modeGreater than 0, maximum 100 km
namestringNoCase-insensitive primary-name substring
categorystringNoExact primary or alternate Overture category
countrystringNoTwo-letter ISO code such as DE or US
minConfidencenumberNo0 to 1
maxItemsintegerNo1 to 10,000; default 10
releasestringNoExample: 2026-06-17.0; newest is automatic

Exactly one geographic mode is required. Mixing a bounding box with point-radius fields fails clearly instead of silently choosing one.

Bounding box input example

{
"boundingBox": {
"west": 13.39,
"south": 52.50,
"east": 13.42,
"north": 52.53
},
"category": "cafe",
"country": "DE",
"minConfidence": 0.7,
"maxItems": 100
}

Longitude is west/east. Latitude is south/north. The box must not cross the antimeridian in one run.

Point and radius input example

{
"latitude": 40.758,
"longitude": -73.9855,
"radiusKm": 2,
"name": "coffee",
"maxItems": 50
}

The Actor first uses a rectangular envelope for Parquet pruning, then applies a Haversine distance predicate so corner records outside the requested circle are excluded.

Output example

{
"gersId": "360accab-e531-4437-8527-164f85833ad6",
"name": "Polizei Abschnitt 53",
"category": "police_department",
"alternateCategories": [],
"taxonomyHierarchy": ["public_service"],
"address": "Friedrichstraße 219",
"locality": "Berlin",
"postcode": "10969",
"country": "DE",
"phones": ["030 4664553700"],
"emails": [],
"websites": ["https://www.berlin.de/polizei/"],
"socials": [],
"confidence": 0.77,
"latitude": 52.505039,
"longitude": 13.390381,
"sourceDatasets": ["meta"],
"sourceRecordIds": ["example-record"],
"version": 1,
"release": "2026-06-17.0",
"sourceUrl": "https://overturemaps-us-west-2.s3.us-west-2.amazonaws.com/release/2026-06-17.0/theme=places/type=place/",
"extractedAt": "2026-07-18T00:00:00.000Z"
}

The exact fields depend on Overture's source coverage for each place.

How much does it cost to extract Overture Maps places?

The Actor uses pay-per-event pricing:

  • a small one-time search started event covers release discovery and opening remote Parquet data;
  • a place saved event is charged for each dataset row;
  • subscription tiers receive decreasing per-place prices.
Apify tierPrice per saved place
Free$0.000059468
Bronze$0.000051711
Silver$0.000040335
Gold$0.000031027
Platinum$0.000020684
Diamond$0.000014479

The one-time run-start price is $0.005. The Apify Console pricing tab is authoritative. Before a larger run, estimate the maximum charge from your maxItems and current subscription-tier price.

A tight area and category can return fewer rows than maxItems; you are charged only for places actually saved, plus the start event.

Tips for better place extraction

  • 🎯 Start with a small bounding box and maxItems: 10.
  • 🧭 Confirm longitude/latitude order before running a rectangle.
  • 🏷️ Use Overture taxonomy values with underscores, such as shoe_store.
  • 🌎 Add a country code when a box overlaps a border.
  • ✅ Raise minConfidence for conservative enrichment workflows.
  • 🔁 Pin release when comparing changes between scheduled runs.
  • 🧩 Deduplicate downstream by gersId, not by name.
  • 📦 Prefer one moderate run over dozens of tiny adjacent runs when practical.
  • 🔍 Remove restrictive filters if a valid area returns no rows.

Scheduled monitoring and snapshots

Create an Apify task with a pinned region and category, then schedule it weekly or monthly.

For change detection:

  1. store the current dataset in your warehouse;
  2. use gersId as the stable join key;
  3. compare version, contact fields, category, and operating status;
  4. use the output release to label each snapshot;
  5. trigger a webhook when the run succeeds.

A pinned release produces reproducible results. Leave release empty when each schedule should automatically use Overture's newest available publication.

Integrations

Google Sheets and Excel

Export the dataset as CSV or XLSX for territory review. Keep gersId, coordinates, and release columns so analysts can trace and deduplicate rows.

Airtable and CRM pipelines

Send new GERS IDs through Make, n8n, or Zapier. Map name, address, phone, email, website, and category into prospect records, then apply your own qualification rules.

GIS and warehouses

Load JSON or CSV into BigQuery, Snowflake, Postgres/PostGIS, QGIS, or ArcGIS. Create geometry from longitude and latitude and preserve source provenance.

Webhooks and Actor chains

Attach a run-succeeded webhook, or call a second Actor to enrich websites, validate emails, geocode addresses, or compare snapshots.

Use the Apify API

Use the Actor ID automation-lab/overture-maps-places-extractor.

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/overture-maps-places-extractor').call({
boundingBox: { west: 13.39, south: 52.50, east: 13.42, north: 52.53 },
category: 'cafe',
maxItems: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/overture-maps-places-extractor').call(run_input={
'latitude': 40.758,
'longitude': -73.9855,
'radiusKm': 2,
'maxItems': 50,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl "https://api.apify.com/v2/acts/automation-lab~overture-maps-places-extractor/runs?token=$APIFY_TOKEN" \
-X POST \
-H 'Content-Type: application/json' \
-d '{"boundingBox":{"west":13.39,"south":52.50,"east":13.42,"north":52.53},"maxItems":10}'

Poll the returned run or use the synchronous API endpoint when your client can wait for completion.

Use with Apify MCP

MCP lets AI assistants discover and run this Actor as a tool.

Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/overture-maps-places-extractor"

Example prompts:

  • “Find up to 50 cafes from Overture Maps in this Berlin bounding box.”
  • “Extract high-confidence restaurants within 3 km of these coordinates.”
  • “Run the Overture place extractor and summarize categories by locality.”

Claude Desktop, Cursor, and VS Code

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/overture-maps-places-extractor"
}
}
}

Configure your Apify authentication according to the MCP client and Apify MCP documentation.

Data quality and limitations

Overture combines open and partner-contributed source data. Coverage and freshness vary by country, category, and field.

  • Some places have no phone, email, website, or social link.
  • Categories may not match consumer-map taxonomies exactly.
  • The Actor does not provide reviews, ratings, photos, popular times, or search rank.
  • Coordinates are derived from the center of Overture's point bounding box.
  • Name filtering applies to the primary name.
  • A strict category filter matches Overture primary or alternate category values.
  • A maximum result limit is not a pagination promise; it is a safety ceiling.
  • Overture can add, remove, or evolve source fields between releases.

Always sample the dataset before using it for outreach, compliance, or high-impact decisions.

Overture Maps publishes its data for broad reuse under its documented data licenses. Individual source records can carry source and license provenance, and users remain responsible for following the applicable Overture terms, source attribution requirements, privacy law, and rules governing their downstream use.

Do not use contact data for spam, harassment, discrimination, surveillance, or unlawful profiling. Review Overture's current license documentation before redistribution.

This README is technical information, not legal advice.

FAQ

Does this Actor require an Overture API key?

No. It reads Overture's public S3 GeoParquet release anonymously.

Does it use a browser or proxy?

No. DuckDB performs remote range reads against public S3 objects.

Can I search the whole world?

No. Every run requires a bounded area. This protects runtime, network use, and predictable costs.

Why did my valid search return zero places?

The area may have no matching source records, or your name, category, country, or confidence filter may be too restrictive. Retry locally with filters removed and a small result limit.

Why did my run reject the geographic input?

Provide either boundingBox or all three point-radius fields. Do not supply both. Ensure west is less than east and south is less than north.

How do I find valid categories?

Run a small area without category, inspect category and alternateCategories, then reuse the exact underscore-form value.

Can I reproduce a previous dataset?

Supply the previous output's release value. Availability follows Overture's public release retention policy.

Are GERS IDs stable?

They are designed as stable identifiers for joining Overture entities. Use the output gersId as the stable identifier, and preserve version and release as well when tracking change.

Use other automation-lab Actors when Overture's open-data scope is not enough:

Check each linked Actor's current input and availability before building a production chain.

Support

If a run fails, include the run URL, sanitized input, expected area, and whether the release was automatic or pinned.

Useful troubleshooting details include:

  • the exact bounding box or center and radius;
  • category and country filters;
  • selected maxItems;
  • pinned release, if any;
  • whether the failure repeats with the prefilled Berlin example.

For data corrections to the underlying map, consult Overture Maps and the provenance fields rather than editing Actor output manually.