Points of interest for any area as clean JSON, one charge per record.
The places as CSV first, ready for a map layer or a database:
Sample rows as CSV, exactly as exported · phones unmasked in the API response
| name | category | address | lat | lng | phone | rating | reviews |
|---|---|---|---|---|---|---|---|
| Storyville Coffee Pike Place | Coffee shop | 94 Pike St Top floor Suite 34, Seattle, WA 98101 | 47.60895 | -122.3404309 | (206) 780-57•• | 4.6 | 3132 |
| Overcast Coffee | Coffee shop | 1517 12th Ave Ste 100, Seattle, WA 98122 | 47.6146106 | -122.3171338 | (206) 588-26•• | 4.7 | 298 |
| Coffee TAB | Coffee shop | 211 Lenora St Suit A, Seattle, WA 98121 | 47.6125094 | -122.3427810 | (425) 243-73•• | 4.7 | 603 |
| Piedmont Café | Coffee shop | 1215 Seneca St Ste 100, Seattle, WA 98101 | 47.6115511 | -122.3242818 | (206) 659-98•• | 4.8 | 290 |
| Mintish Coffee House | Coffee shop | 515 Harvard Ave E #121, Seattle, WA 98102 | 47.6236898 | -122.3222815 | (206) 779-97•• | 5 | 1154 |
| Drip Drip coffeehouse | Coffee shop | 355 15th Ave, Seattle, WA 98122 | 47.6058835 | -122.3131162 | (206) 485-70•• | 4.5 | 342 |
And one point of interest as JSON:
No code needed. From zero to a CSV of places in about two minutes:
Create a free account. Try it free, no card needed.
Type a search in the playground. Something like coffee shops in Seattle. The places land in a table.
Export the CSV, or run the curl above. Same records, as a spreadsheet or JSON.
Every point of interest comes complete, so you can build a map layer, a directory, or a dataset with no second call.
Records are pulled fresh at query time, not served from an aging file, and each carries a scrapedAt timestamp so you always know how fresh a row is.
The same endpoint scales from a single lookup to full POI data coverage of a city or vertical.
Need every coffee shop in Seattle, every pharmacy in Texas, or every gym in the top 50 metros? Loop the endpoint over your categories and cities. The result is a POI database as fresh as the day you pulled it, in the same schema every time.
For very large footprints, ready-made datasets are the bulk lane: the same records, packaged, without running the pulls yourself.
The classic POI options are a licensed annual file or Google's official Places API. Different trade-offs on both.
| Licensed POI file | Google Places API | CrustAPI | |
|---|---|---|---|
| Freshness | Ages between releases | Fresh | Fresh at query time |
| Pricing shape | Annual license | Per call by SKU tier; Text Search Pro is $32 / 1,000 calls | one charge per place returned |
| Fields per record | Varies by vendor | Gated by SKU tier | All fields, every time |
| Entry cost | Quote | Free monthly threshold, then per call | $6 of free usage each month |
The Places API figure is Google's published Text Search Pro rate at the base usage tier, from Google's usage and billing page, checked July 27, 2026. Note it bills per call while we bill per place returned, so compare on your own query shapes.
What the classic options cost to even start, against the metered route.
When a licensed POI file is the better pick: navigation-grade attributes, building polygons, indoor mapping, or a redistribution license for shipping the data inside your own product. Those are file-vendor strengths. This API is for live, business-level POI data you query on demand.
You pay the Maps rate for each place a search returns. A search that returns nothing costs nothing. Simple meter, no subscription, no quote call:
| Deposit | Google Search / 1,000 requests | Maps / 1,000 businesses | LinkedIn reads / 1,000 requests | People, Jobs, Refresh / 1,000 units |
|---|---|---|---|---|
| $10+ | $1.00 | $1.96 | $6.00 | $1.96 |
| $149+ | $0.76 | $1.49 | $4.50 | $1.49 |
| $549+ | $0.56 | $1.10 | $3.30 | $1.10 |
| $1,999+ | $0.41 | $0.80 | $2.45 | $0.80 |
| $6,500+ | $0.33 | $0.65 | $1.95 | $0.65 |
| $27,500+ | $0.28 | $0.55 | $1.65 | $0.55 |
| $50,000+ | $0.26 | $0.50 | $1.50 | $0.50 |
| $100,000+ | $0.20 | $0.40 | $1.50 | $0.40 |
Every eligible account gets $6 of free usage monthly. Each deposit keeps its prices until spent; paid funds never expire. People and Jobs bill per successful search, Refresh per accessible profile. Full profiles in People use the read rate per full profile. See all billing details.
Larger deposits unlock lower endpoint prices. Each deposit keeps its prices until spent. See the full deposit table on the pricing page. Prices in USD, ex-tax.
Start free with Free to try, no card. Paid packs are prepaid and self-serve, and paid funds never expire.
Related: Google Maps scraper API · Business leads API · Google Places API alternative · Restaurant API · Datasets
An API that returns points of interest, the named places on a map: shops, restaurants, clinics, gyms, offices. You send an area and a category, and get each place back as a complete JSON record with coordinates.
Name, category and the full category list, street address broken into parts, latitude and longitude, placeId, phone, website, rating, review count, opening hours, description, and attributes, plus price level when Google lists one and a scrapedAt timestamp.
Records are pulled at query time, not read from a stored file, and every record carries a scrapedAt timestamp. What you get reflects the listing as it looked when you asked.
Yes. Loop the endpoint over your categories and cities to cover a market, or order a ready-made dataset for very large footprints. Both come in the same schema.
Maps costs $1.96 per 1,000 businesses at standard prices, down to $0.40 for the largest deposit. Empty and failed searches are free. Every eligible account gets $6 of free usage monthly. Paid funds never expire.
Maps bills per returned business at the rate saved with the funds you use. The returned record includes all available fields. Compare Google’s own Places API by its billing unit and field tier.
Run one category in one city on the free tier and look at what comes back. Free to try, no card.
Try for free