NativePort

Find business details from Google Maps

Search for businesses and get their addresses, coordinates, and available listing details as JSON. Use the results to enrich a directory or research a local market.

Find the right place before collecting more

Search with a business name and city, or a category and map area. The response contains matching listings and the details available for each one, such as an address, website, and rating.

Check that a result matches the business you intended. Keep its place identifier when available, especially if you want to request reviews or more details later. Similar names and multiple branches can make a name-only match ambiguous.

For a larger list, search several areas and remove duplicates. One query does not cover every business in a city. Optional fields may be missing, and an email address may require a separate visit to the business’s website.

Try it step by step

Try a request

Search for a type of business around a map location. Each result includes the listing details available to the provider.

curl
curl https://api.nativeport.ai/serper/maps \
  -H "Authorization: Bearer $NATIVEPORT_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{"q": "coffee roasters", "ll": "@37.7749,-122.4194,13z"}'
example response
{
  "places": [{
    "title": "Ritual Coffee Roasters",
    "address": "1026 Valencia St, San Francisco, CA 94110",
    "latitude": 37.7561, "longitude": -122.4213,
    "phoneNumber": "+1 415-641-1011",
    "website": "https://ritualroasters.com/",
    "rating": 4.4, "ratingCount": 1893,
    "category": "Coffee shop"
  }]
}

Compare providers

Compare starting prices and the tasks each provider supports. Features and usage affect the total cost. For measured results, see the benchmarks and how we test.

ProviderBest suited forStarting price
Serper Search Maps or Places and retrieve listing details. $0.001 per call
SerpApi Get structured Maps and local-search results. $0.025 per call
SearchAPI.io Look up businesses through supported Maps endpoints. $0.004 per call
Apify Run a Maps Actor for bulk business collection. metered by Apify
Oxylabs Collect Maps data with supported scraping tools. $0.0025 per call
Bright Data Collect Maps listings for your data workflow. $0.003 per call

Build on an example

Set your NativePort API key and adapt an example to your own data. Outputs below illustrate the response format.

Enrich a list of business names with addresses and ratings

One request per input row. Check Serper pricing before processing a large list.
python
import csv, json, os, sys, urllib.request

def place(q):
    req = urllib.request.Request(
        "https://api.nativeport.ai/serper/places",
        data=json.dumps({"q": q}).encode(),
        headers={
            "Authorization": f"Bearer {os.environ['NATIVEPORT_API_KEY']}",
            "Content-Type": "application/json",
        },
    )
    with urllib.request.urlopen(req) as r:
        hits = json.load(r).get("places") or []
    return hits[0] if hits else {}

w = csv.writer(sys.stdout)
w.writerow(["query", "address", "phone", "rating"])
for line in sys.stdin:
    q = line.strip()
    if not q:
        continue
    p = place(q)
    w.writerow([q, p.get("address", ""), p.get("phoneNumber", ""),
                p.get("rating", "")])
example output
$ printf 'Ritual Coffee SF\nBlue Bottle Oakland\n' | python enrich.py
query,address,phone,rating
Ritual Coffee SF,"1026 Valencia St, San Francisco, CA 94110",+1 415-641-1011,4.4
Blue Bottle Oakland,"300 Webster St, Oakland, CA 94607",+1 510-653-3394,4.3

More ways to use these APIs

Fetch a business's Google Business Profile

Search with a business name and city to find its listing. Read the available category, rating, and other details, and keep the place identifier for follow-up requests. Review text can be requested separately through /serper/reviews.

Serper · /serper/places

Find a business website and its contact details

A maps listing may include a website URL. If you need an email address or other contact details, visit that site with a separate scraping request. Plan for this additional step when estimating the work and cost of enriching a business list.

Serper · /serper/places → /firecrawl/v2/scrape

Use it with NativePort

Use the Maps and Places providers here with your NativePort account. Your shared balance also covers follow-up review requests and visits to business websites.

Before you start

Do I need my own Google Maps Platform account?

No. These requests use the listed providers through NativePort. You only need your NativePort account and API key.

Can I collect all businesses in an area?

A maps search returns a page of results around a location. You can cover more ground with several queries and deduplication, or use a bulk collection tool such as an Apify Maps actor. Check the coverage and limits before treating the result as a complete dataset.

What should I do when a field is missing?

Treat listing fields as optional. Check for an address or coordinates before using a match, and allow missing phone numbers, websites, and ratings. The examples use optional field access where appropriate.

Try it with $5 in credits