Google Maps Place ID & Business Contact API avatar

Google Maps Place ID & Business Contact API

Pricing

from $0.41 / 1,000 contacts resolveds

Go to Apify Store
Google Maps Place ID & Business Contact API

Google Maps Place ID & Business Contact API

Resolve any Google Maps place ID to a full business profile: contact email, social profiles, accessibility and amenity attributes, closure status, structured address, and plus code. Place ID lookup plus contact enrichment in one call. Pay per record, MCP ready.

Pricing

from $0.41 / 1,000 contacts resolveds

Rating

0.0

(0)

Developer

John

John

Maintained by Community

Actor stats

1

Bookmarked

7

Total users

6

Monthly active users

15 hours ago

Last modified

Share

Turn a Google Maps place ID into a complete business record. Give this Actor a place ID, a ChIJ feature ID, or a Google Maps URL, and it returns the business email, social profiles, accessibility and amenity attributes, closure status, structured address, and plus code as clean JSON.

This is a place ID lookup and a contact enrichment step in one call. It is built to run after a search, on the place IDs you already have.

What it returns

Google publishes some of this and hides the rest. The contact details are not in Google's place data at all, so this Actor reads the business website to resolve them.

FieldWhat you getWhere it comes from
emailBest contact address for the businessBusiness website
emailsEvery valid address foundBusiness website
socialLinksFacebook, Instagram, LinkedIn, YouTube, TikTok, X, Pinterest, Yelp, TripAdvisor profilesBusiness website
socialProfilesThe same platforms as a plain comma-separated list, for spreadsheets and tablesBusiness website
aboutAccessibility, service options, payments, planning attributes, each with a true or false flagGoogle Maps
businessStatusOPERATIONAL, CLOSED_TEMPORARILY, or CLOSED_PERMANENTLYGoogle Maps
plusCodeOpen Location Code, a global address that works without street addressingGoogle Maps
addressComponentsAddress split into partsGoogle Maps
categories, primaryTypeEvery Google category for the businessGoogle Maps
phone, fax, websiteListed contact numbers and siteGoogle Maps
menu, hotelClassMenu sections and lodging star rating where publishedGoogle Maps

Social profiles and email are the two fields most often missing from business data sets, because neither appears in Google's place listing. Reading the website is the only way to get them, and this Actor does it in the same pass.

Fields with no value are left out of the record rather than returned empty, so the fill percentage shown on the Output tab is the real hit rate rather than a column of blanks.

Three output views

The Output tab ships three ready-made tables, so you can look at the same records three ways without writing a transformation:

  • Business contacts: name, email, phone, social platforms, website, category, status.
  • Place attributes: name, categories, status, address, plus code, hotel class.
  • Social profiles: business name, the platforms found, and every profile URL. Useful on its own, since social links are the highest-yield contact field this Actor returns.

How to get started

  1. Open the Google Maps Place ID & Business Contact API on Apify Store.
  2. Paste one or more place IDs, feature IDs, or Google Maps URLs into Place IDs.
  3. Leave Resolve contact details on to get email and social profiles.
  4. Run it. One record comes back per place.

Input accepts all four of these, so you rarely need to convert anything:

0x54ae55e377fa4a87:0x91e7fe3019801009
ChIJrTLr-GyuEmsRBfy61i59si0
https://www.google.com/maps/place/Northwest+Dental+Center/@43.62,-116.28,17z/data=!4m2!3m1!1s0x54ae55e377fa4a87:0x91e7fe3019801009
https://maps.app.goo.gl/rQovBAhcXeKfbYQy6

That last one is the link the Share button in Google Maps gives you. It carries no identifier of its own, so this Actor follows the redirect and pulls the place ID off the page it lands on. Paste the share link straight in.

Example output

{
"result_type": "place",
"placeId": "0x54ae55e377fa4a87:0x91e7fe3019801009",
"name": "Northwest Dental Center",
"email": "office@nwdentalcenter.com",
"emails": ["office@nwdentalcenter.com"],
"socialLinks": [
{ "platform": "facebook", "url": "https://www.facebook.com/nwdentalcenter" },
{ "platform": "instagram", "url": "https://www.instagram.com/nwdentalcenter" }
],
"businessStatus": "OPERATIONAL",
"plusCode": "85M5JPG7+QX",
"address": "8300 W Northview St, Boise, ID 83704",
"addressComponents": ["8300 W Northview St", "Boise, ID 83704"],
"categories": ["Dentist", "Cosmetic dentist", "Dental clinic"],
"primaryType": "Dentist",
"phone": "(208) 314-4416",
"website": "https://www.nwdentalcenter.com/",
"about": [
{
"group": "Accessibility",
"attributes": [
{ "label": "Wheelchair accessible entrance", "present": true },
{ "label": "Wheelchair accessible parking lot", "present": true }
]
}
],
"socialProfiles": "facebook, instagram",
"contactPagesCrawled": 1
}

How to find a Google place ID

A place ID is the stable identifier Google gives every location. It survives a rename, a phone-number change, and most listing edits, which is what makes it the right key to store in your own database instead of a business name.

Google's own reference: Place IDs, Places API documentation.

The two ID formats, and why it matters

You will run into two different-looking IDs, and people often assume one of them is broken. Both are valid, and this Actor accepts either, plus a Maps URL containing either.

FormatLooks likeWhere you usually see it
Feature ID (hex pair)0x54ae55e377fa4a87:0x91e7fe3019801009Inside a Google Maps URL, after !1s
Place ID (ChIJ form)ChIJrTLr-GyuEmsRBfy61i59si0Places API responses, the Place ID Finder

Google documents the ChIJ form as the canonical place ID and notes that a single location can have more than one, and that IDs can change over time, so it recommends refreshing a stored ID that is more than twelve months old. See Place IDs.

Open the place in Google Maps, press Share, and copy the link. It looks like https://maps.app.goo.gl/rQovBAhcXeKfbYQy6 and contains no visible ID at all. Paste it in anyway: this Actor follows the redirect for you. This is the shortest path and needs no understanding of ID formats.

Method 1: copy the Google Maps URL (fastest, nothing to install)

  1. Open Google Maps and search for the business.
  2. Click the listing so its panel opens on the left.
  3. Copy the whole URL from the address bar.

The feature ID sits in the data= segment, right after !1s:

https://www.google.com/maps/place/Northwest+Dental+Center/@43.6269856,-116.2850876,17z/data=!4m6!3m5!1s0x54ae55e377fa4a87:0x91e7fe3019801009!8m2!3d43.62!4d-116.28
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
this is the ID

You do not have to extract it. Paste the entire URL into Place IDs and this Actor pulls the ID out for you.

Video walkthrough (third-party): How To Find Place Id In Google Maps, two easy methods by Osborne Digital Marketing.

Method 2: Google's official Place ID Finder

Google hosts a free finder tool that returns the ChIJ-form ID with no account or API key needed.

  1. Open the Place ID Finder, maintained by Google.
  2. Type the business name or address into the search box on the map.
  3. Click the result. A pin drops and an info window shows the place ID.
  4. Copy the ChIJ... string.

Video walkthrough (third-party): How to Find Google Place ID, Google Maps Place ID Tutorial 2026 by Right Shift solution, which walks through this exact tool.

Method 3: your own business listing

If you are looking up the place ID for a business you manage rather than a prospect, work from your Google Business Profile listing and use either method above on it. Google's own help centre covers managing and locating your listing: Google Business Profile Help.

Video walkthrough (third-party): How to Find Your Place ID in Google Maps by Obsidian Funnels, which covers the business-owner path.

Method 4: in bulk, from a search (the one to use for lists)

The first three methods are one place at a time. For a list of hundreds, run the Google Maps Places API to search a category and location, then feed the placeId field of every result straight into this Actor.

That is the normal production pattern: search once to discover, enrich only the places you decided to keep.

CID and KGMID are different Google identifiers that show up in local SEO work and are not interchangeable with a place ID. If you are reconciling several ID types, this third-party walkthrough covers the differences: How To Find Google Maps CID, Place ID, KGMID and KGS IDs by Chris Palmer SEO. For converting a place ID into an address programmatically, Google documents place-ID geocoding under Places geocoding requests.

Do I need a proxy?

No, and there is no proxy setting to configure. What the source checks is the TLS fingerprint of the client, which this Actor already presents as a real browser, rather than the address the request comes from. Measured across 50 place lookups with no proxy at all, including a sustained back-to-back run, every place resolved.

Removing the setting is deliberate. One less thing to reason about, and nothing in the input can quietly multiply the cost of a run.

Applications

  • Lead lists with reachable contacts. Search a category and location, then resolve the results here to attach an email and social profiles to every business.
  • Keeping a directory honest. Re-run monthly and watch businessStatus to catch places that closed permanently, so you stop showing listings that no longer exist.
  • Accessibility and amenity filtering. The about groups carry wheelchair access, payment methods, and service options as explicit true or false flags, which is what you need to filter a directory by accessibility.
  • Global addressing. plusCode gives a precise location where street addressing is unreliable or missing.
  • Enriching a CRM. Store the place ID once, then re-resolve on a schedule to keep contact details current.

Integrations: chain it with the rest of the toolkit

Search, then resolve

Run the Google Maps Places API to find businesses by keyword and location, then pass each placeId into this Actor. The search step is cheap per place and gives you the listing. This step adds the contact details and attributes the listing does not carry. You only pay for enrichment on the places you actually want.

Tasks and schedules

Save a run configuration as a Task, then attach a schedule to re-resolve a list of place IDs weekly or monthly. Contact details and closure status both drift, so a recurring run is how a directory stays accurate.

๐Ÿ”Œ Use this API from Claude (MCP)

This Actor is compatible with the Model Context Protocol (MCP), so AI agents can call it as a tool. Add it through the hosted Apify MCP server using this Actor-specific URL:

https://mcp.apify.com/?tools=actors,docs,johnvc/google-maps-place-id-contact-api

If you run agents from Claude Code (free trial) or Claude Cowork (free trial), add the Apify MCP server and ask it to "resolve this Google Maps link and tell me the contact email and whether the place is still open."

Apify MCP integration docs: https://docs.apify.com/platform/integrations/mcp

๐Ÿ’ธ Pay per run with crypto (x402)

The Google Maps Place ID & Business Contact API supports agentic payments via the x402 protocol. AI agents and MCP clients can pay for runs in USDC (on Base) with no Apify account or API token needed: point your agent at the Apify MCP server and it can discover, pay for, and run this Actor autonomously. Read the Apify x402 announcement for details.

Pricing

You pay per record, not per run and not per month. Two events:

  • Place resolved, charged once for each business record returned.
  • Contacts resolved, charged once per record when the business website is successfully read. It is not charged when contact resolution is turned off, when the place has no website, or when the website could not be reached, so a site that is down costs you nothing.

Turning off Resolve contact details means you are only charged the first event, which is the cheaper way to pull attributes and closure status in bulk.

FAQ

How do I find a Google place ID? Open the place on Google Maps and copy the URL. This Actor accepts the full URL, so you do not need to extract the ID yourself. You can also get IDs in bulk from the Google Maps Places API.

How do I get a place ID for my own business? Search for your business on Google Maps, open its listing, and copy the URL from the address bar. Paste that URL straight into this Actor.

Does a place ID change? It is stable in normal use, which is why it is a good key to store. Google can retire an ID when listings are merged, so re-resolving on a schedule is worthwhile for a long-lived database.

Why is the email not always found? The address is read from the business website, so it can only be found if the business publishes one. Some businesses use a contact form instead of an address, and some have no website. When the homepage has no address, this Actor follows likely contact pages before giving up, which finds a large share of the addresses a homepage-only read would miss.

Where do the social profiles come from? The business website. Google's place data does not contain social profile links at all, so there is no way to read them from the listing itself. Share buttons and platform homepages are filtered out, so what comes back are the business's own profiles.

Can I get place attributes without reading the website? Yes. Turn off Resolve contact details. You still get amenity attributes, closure status, address, plus code, and categories, and you are not charged the contact event.

How do I find permanently closed businesses? Check businessStatus on each record. Google flags only closed places, so anything unflagged is reported as OPERATIONAL.

Does this return reviews or photos? No. Reviews and photos are handled by separate Actors so you are not charged for data you did not ask for. See Google Maps Photos API for imagery.

Can AI agents call this directly? Yes. It is MCP compatible, and it can be paid for in USDC via x402 with no Apify account. See the MCP and x402 sections above.

Ready-to-run examples. Each one is a saved configuration you can open, tweak, and run.

๐ŸŒ About Alpha OSINT

This Actor is part of Alpha OSINT, toolset of financial and operations data sources and APIs. For support or requests for this actor, please start a ticket directly on our support page.

Last Updated: 2026.09.10