Overture POI Search - Austin Places
Pricing
from $4.00 / 1,000 place returned by a bounded-area searches
Overture POI Search - Austin Places
Overture Maps Search that returns name, category, address, coordinates, phone and website. 79,119 places, Austin / Travis County. Search a bounding box or a radius. Export to JSON, CSV or Excel, run it on a schedule, or call it from the Apify API.
Pricing
from $4.00 / 1,000 place returned by a bounded-area searches
Rating
0.0
(0)
Developer
angel nguyen
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Share
What this Actor does
Overture Maps open data for Austin and Travis County, Texas: get name, category, address, coordinates, phone and website for the local businesses you search for, inside a bounding box or a radius around a point. The index holds 79,119 places and every record carries its own provenance, so you can see which upstream source each field came from.

This is an open-data product, not a scraper. It queries a bundled extract of the Overture Maps places theme — release 2026-08-19.0 — which means no API key, no rate limit, no terms that change under you, and a licence that lets you actually use the output.
Key features
- Two query shapes.
searchover a bounded area (a bounding box, or a centre point plus a radius), anddetailsto fetch specific places by id. - 79,119 places in the index, covering longitude -98.158 to -97.388 and latitude 30.025 to 30.618 — Austin and Travis County, Texas.
- Per-record provenance. Every record carries a
sourcesarray naming the upstream dataset, its licence, its record id and its update time, plus Overture's ownconfidencescore. - Distance-ranked radius search. A centre-point search returns results nearest-first and attaches
distance_mto each one. - Real filters. Substring match on name, Overture category slug, and a floor on
confidence. - Nothing is silently missing. A
detailsquery returns an explicitnot_foundlist for ids that matched nothing, and those ids are not billed. - No network at run time. The extract ships inside the Actor image, so queries do not depend on an upstream API being up.
How it works
- You choose a query shape:
searchfor a bounded area, ordetailsfor specific place ids. - For
search, you give either all four bounding-box values, or a centre point plusradiusMeters. If both are given, the bounding box wins. - The bounded set is narrowed by any filters you set —
searchTexton the name,categoryon the Overture slug,minConfidenceon the confidence score. - A bounding-box search is ordered by confidence then name; a radius search is ordered nearest-first and each record gets a
distance_m. maxResultsandoffsetpage through the matches.- Each match is emitted as one place record carrying its category tree, address, coordinates, contact fields, confidence and full source provenance.
There is no unbounded whole-county dump shape, on purpose. A search must be bounded, and a search that matches nothing costs nothing beyond the run start.
Input
queryShape is required. A search needs a bounded area; a details query needs at least one place id.
Input fields
| Field | Type | Default | What it does |
|---|
Example input
A bounding box over central Austin, filtered to the restaurant category, capped at 20 results.
{"queryShape": "search","minLon": -97.76,"minLat": 30.26,"maxLon": -97.73,"maxLat": 30.28,"category": "restaurant","maxResults": 20}
Output
One dataset item per place. The record below is real — it is the first result of exactly the query shown above, run against the same bundled extract this Actor ships.
Example output
{"id": "cd3875f4-7ecc-4d10-b53e-6a3c8e766948","name": "Hopdoddy Burger Bar","category": {"primary": "burger_restaurant","alternate": ["american_restaurant","bar_and_grill_restaurant"],"basic": "restaurant","taxonomy": "burger_restaurant","hierarchy": ["food_and_drink","restaurant","meat_restaurant","burger_restaurant"]},"address": {"freeform": "1011 E 5th St. Ste 180","locality": "Austin","postcode": "78702","region": "TX","country": "US"},"coordinates": {"lon": -97.73240549,"lat": 30.263873},"website": "https://www.hopdoddy.com/locations/plazasaltillo","phone": "+15128287855","brand": {"name": "Hopdoddy Burger Bar"},"confidence": 0.9999791900455952,"sources": [{"property": "","dataset": "meta","license": "CDLA-Permissive-2.0","record_id": "102542538216786","update_time": "2026-08-10T00:00:00.000Z","confidence": 0.99698406457901,"between": null,"provider": "meta","resource": "meta","version": "2026-08-10"},{"property": "/properties/confidence","dataset": "Overture","license": "CDLA-Permissive-2.0","record_id": null,"update_time": "2026-08-14T19:46:07Z","confidence": null,"between": null,"provider": "overture","resource": "confidence_calculation","version": "2026-08-14"}],"overture_version": 11}
Output fields
Every field below is taken from that same real record. Values are truncated for width, never invented.
| Field | Type | Value from a real run |
|---|---|---|
id | string | cd3875f4-7ecc-4d10-b53e-6a3c8e766948 |
name | string | Hopdoddy Burger Bar |
category | object | {"primary":"burger_restaurant","alternate":["american_restauran… |
address | object | {"freeform":"1011 E 5th St. Ste 180","locality":"Austin","postc… |
coordinates | object | {"lon":-97.73240549,"lat":30.263873} |
website | string | https://www.hopdoddy.com/locations/plazasaltillo |
phone | string | +15128287855 |
brand | object | {"name":"Hopdoddy Burger Bar"} |
confidence | number | 0.9999791900455952 |
sources | array | [{"property":"","dataset":"meta","license":"CDLA-Permissive-2.0… |
overture_version | number | 11 |
Three field groups are deliberately absent, and it is better that you know now:
| Field | Status | Why |
|---|---|---|
| Opening hours | Unavailable | The Overture places schema at release 2026-08-19.0 carries no opening-hours column. It is not synthesised and not sourced from anywhere else. |
| E-mail addresses | Excluded | Present upstream, deliberately not indexed. This is not a lead-generation e-mail extractor. |
| Social profiles | Excluded | Same reason. |
Optional fields appear only when the source has them: website, phone, brand and operating_status are absent from a record rather than present-and-empty. websites and phones (plural) appear only when a place has more than one.
Pricing
Pay-per-event. You are charged per place record delivered, so a query that matches nothing is free beyond the run start.
| Event | Price | Charged when |
|---|---|---|
| Place returned by a bounded-area search | $0.004 | Charged once per place record delivered to the dataset by the bounded-area search shape. A search that matches nothing is free. |
| Place details resolved by id | $0.004 | Charged once per place record delivered to the dataset by the details-by-id shape. An id that resolves to nothing is reported in not_found and is not charged. |
What a run actually costs
Worked from the prices in the table above:
- A 20-result neighbourhood search. 20 records x $0.004 = $0.08.
- A 500-result sweep of a district. 500 x $0.004 = $2.00.
- A
detailslookup of 10 known ids. 10 x $0.004 = $0.04 — and any id that matches nothing appears innot_foundand is not charged. - A search that matches nothing. The run start only.
You are billed for records delivered, never for records scanned.
FAQ
What area does this cover?
Austin and Travis County, Texas — longitude -98.158 to -97.388, latitude 30.025 to 30.618. 79,119 places. It does not cover anywhere else, and it will not pretend to.
Where does the data come from, and can I use it commercially?
Overture Maps Foundation open data, release 2026-08-19.0. The place records travel under CDLA-Permissive-2.0, Apache-2.0 and CC0-1.0. The attribution notice ships inside the Actor image and is written to the key-value store as NOTICE at the start of every run, so the licence text travels with the data.
Why are there no opening hours?
Because the Overture places schema at this release has no opening-hours column. Rather than synthesise them or quietly source them elsewhere, the Actor tells you the field is unavailable.
Why no e-mail addresses?
They exist upstream and are deliberately not indexed. This is a places dataset, not a lead-generation e-mail extractor.
What is confidence, and should I filter on it?
It is Overture's own per-record confidence score between 0 and 1. It is worth filtering on: confidence is measurably lower inside the upstream geocode-fallback cluster (mean 0.729) than elsewhere (mean 0.810).
How accurate are the coordinates?
They are point locations at address or building granularity, taken from the source unchanged — not verified rooftop coordinates. 23.17% of records share an exact coordinate with at least one other record.
Can I get the whole county in one run?
No. Every search must be bounded by a box or a radius. Page through a large area with maxResults and offset.
Some places have no category. Why?
4,378 of the 79,119 places carry no primary category upstream, so they match no category slug. They are still returned by an unfiltered bounded search.
Limits and error handling
maxResultscaps at 1,000 records per run; page beyond that withoffset.radiusMeterscaps at 50,000 and applies only to centre-point searches.- A search must be bounded — there is no unbounded whole-county shape.
categoryis an exact match against the primary, alternate and basic category slugs, not a fuzzy search.searchTextis a case-insensitive substring match on the name, not a ranked relevance search.- The index is a pinned snapshot of Overture release 2026-08-19.0. It is not live: a business that opened yesterday is not in it.
Integrations and API
Everything below works on any Apify account, including the free tier.
Run it from the Apify API
Start a run and wait for the dataset in one call. Replace <YOUR_TOKEN> with your own Apify API token.
curl -X POST "https://api.apify.com/v2/acts/praise-most-high~local-poi-open/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-H "Content-Type: application/json" \-d '{"queryShape":"search","minLon":-97.76,"minLat":30.26,"maxLon":-97.73,"maxLat":30.28,"category":"restaurant","maxResults":20}'
Use it from JavaScript or Python
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_TOKEN>' });const run = await client.actor('praise-most-high/local-poi-open').call({"queryShape":"search","minLon":-97.76,"minLat":30.26,"maxLon":-97.73,"maxLat":30.28,"category":"restaurant","maxResults":20});const { items } = await client.dataset(run.defaultDatasetId).listItems();
Schedules, webhooks and integrations
Run it on a schedule — hourly, daily, or a cron expression — and have the output pushed where you already work. Apify ships first-party integrations for Zapier, Make, n8n, Slack, Google Drive, GitHub and generic webhooks, and any run can fire a webhook on success or failure. The dataset is also readable directly as JSON, CSV, XLSX, XML or RSS from its own URL, so a spreadsheet or a BI tool can point straight at it.
Where the data comes from
Overture Maps Foundation open data, places theme, release 2026-08-19.0, clipped to Austin / Travis County and bundled inside the Actor image.
The Actor reads nothing over the network at run time — the extract travels with it. That is a measured design decision, not a preference: a single small bounded query against the public Overture bucket costs about as much as rebuilding the whole county extract, because Parquet row-group pruning still has to read the footer of every file in the partition before it can prune anything.
Licensing. The place records travel under CDLA-Permissive-2.0, Apache-2.0 and CC0-1.0. The full attribution notice ships in the image as NOTICE-overture.md and is written to the run's key-value store as NOTICE at the start of every run, so the licence text travels with the data rather than being left on a web page you have to remember. The ODbL OpenStreetMap polygon used to clip the extract is deliberately not included — only the place records and the numeric bounding box travel.
Legal and responsible use
Open data, not a scrape. This Actor queries a bundled extract of Overture Maps open data. It does not scrape Google Maps or any other operator's product, and it is not affiliated with, endorsed by or sponsored by the Overture Maps Foundation or any of its members.
No personal data. Business and point-of-interest records: names, categories, addresses, coordinates and published business contact details. No individuals, no reviews, no e-mail addresses, no social profiles.
Your obligations. The licences above are permissive but they are not nothing — CDLA-Permissive-2.0 and Apache-2.0 both require attribution. The NOTICE written to every run's key-value store is there so you can carry it forward. Coordinates are source granularity, not surveyed positions; do not use them where a wrong point costs someone something.
Support and feedback
Found a bug, a wrong field, or a source that changed shape? Open an issue on the Issues tab of this Actor and it goes straight to the maintainer. Feature requests are welcome on the same tab. If a run failed, include the run ID — the log is what makes it fixable.