# Google Maps Business Enricher (`iblead/google-maps-business-enricher`) Actor

Full business enrichment from Google Maps: tech stack (16 categories), emails, phones, social profiles, legal info. Provide place IDs, get results in seconds.

- **URL**: https://apify.com/iblead/google-maps-business-enricher.md
- **Developed by:** [Ibrahim Demol](https://apify.com/iblead) (community)
- **Categories:** Lead generation
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$5.00 / 1,000 enriched businesses

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Google Maps Business Enricher -- Tech Stack & Contacts

Look up Google Maps businesses by place ID and get a complete profile: emails, phone numbers, 6 social media profiles, technology stack (16 categories: CMS, analytics, payment, chat, and more), legal information, and all standard Google Maps data. This is the most comprehensive data you can get for a single business on Apify.

This is a lookup actor. Provide place IDs or Google Maps URLs, and get back fully enriched business profiles.

### What data do you get?

**Core business data:**

| Field | Description |
|-------|-------------|
| `name` | Business name |
| `address` | Full street address |
| `city` | City name |
| `postal_code` | ZIP / postal code |
| `country_code` | ISO country code |
| `phone` | Phone from Google Maps listing |
| `website_url` | Business website |
| `google_maps_url` | Direct Google Maps link |
| `place_id` | Google Place ID |
| `cid` | Google CID |
| `category` | Primary Google Maps category |
| `categories` | All categories (array) |
| `business_description` | Business description |
| `rating` | Google rating (1.0 - 5.0) |
| `review_count` | Number of Google reviews |
| `latitude` | GPS latitude |
| `longitude` | GPS longitude |
| `business_status` | Open / temporarily closed / permanently closed |
| `claimed` | Whether the owner claimed the listing |
| `photo_url` | Main photo URL |
| `hours` | Opening hours (structured) |
| `timezone` | Business timezone |

**Contact enrichment:**

| Field | Description |
|-------|-------------|
| `emails` | Email addresses found on the business website (array) |
| `phones_from_website` | Phone numbers from the website (array) |
| `confidence_score` | Email/phone extraction confidence |

**Social profiles:**

| Field | Description |
|-------|-------------|
| `facebook` | Facebook page URL |
| `instagram` | Instagram profile URL |
| `linkedin` | LinkedIn page URL |
| `twitter` | Twitter/X profile URL |
| `tiktok` | TikTok profile URL |
| `youtube` | YouTube channel URL |

**Technology stack:**

| Field | Description |
|-------|-------------|
| `technologies` | Object with detected technologies by category |

The `technologies` field contains detected tools and platforms organized by category. 16 categories: CMS, analytics, tag_manager, ads, chat, email_marketing, cookie_consent, payment, booking, ab_testing, framework, security, reviews, accessibility, maps, cdn.

**Legal information:**

| Field | Description |
|-------|-------------|
| `tva` | VAT / tax identification number |
| `legal_name` | Registered legal entity name |

**Timestamps:**

| Field | Description |
|-------|-------------|
| `first_seen_at` | When the business was first indexed |
| `last_seen_at` | Last data refresh |

### Use cases

- **Competitive intelligence**: Analyze which CMS, analytics, and payment tools competitors use to understand their tech maturity and spending.
- **Sales targeting by tech stack**: Find businesses using specific technologies (e.g., all Shopify stores in Germany) for targeted SaaS sales.
- **Market research**: Map technology adoption across an industry or geography.
- **Agency prospecting**: Identify businesses using outdated CMS or missing analytics to pitch web development or marketing services.
- **Investment due diligence**: Get a full digital profile of a business -- tech stack, online presence, contact information, and legal entity -- in one API call.

### How to use

1. Get a free API key at [app.iblead.com](https://app.iblead.com) (200 free credits, no credit card).
2. Open this actor in Apify Console.
3. In the **Place IDs or Google Maps URLs** field, paste your list.
4. Enter your API key and run.

Each place ID returns a fully enriched profile with all fields listed above.

### Input parameters

| Parameter | Required | Type | Description |
|-----------|----------|------|-------------|
| `place_ids` | Yes | Array | List of Google Maps place IDs or full Google Maps URLs. |
| `api_key` | Yes | String | Your IBLead API key. |

### Pricing

This actor charges **$5.00 per 1,000 lookups**.

| Actor | Price per 1K | Tech stack | Social profiles | Emails | Legal info |
|-------|-------------|-----------|----------------|--------|-----------|
| **IBLead Enricher (this actor)** | **$5.00** | Yes (16 categories) | 6 platforms | Yes | Yes |
| IBLead (flagship) | $3.50 | No | 6 platforms | Yes | No |
| IBLead Email Finder | $2.50 | No | No | Yes | No |

There is no equivalent actor on the Apify Store that provides technology stack detection for Google Maps businesses. This is the only option if you need to know what CMS, analytics, payment, or marketing tools a business uses.

### FAQ

**What technologies can it detect?**
The detection covers 16 categories: CMS, analytics, tag_manager, ads, chat, email_marketing, cookie_consent, payment, booking, ab_testing, framework, security, reviews, accessibility, maps, and cdn.

**How is this different from the flagship actor?**
The flagship actor searches by country + category and returns emails and social profiles, but no technology data and no legal info. This actor takes place IDs as input (lookup mode) and returns everything the flagship does, plus the technology stack and legal entity information.

**Can I search by category and city?**
No. This actor works in lookup mode only -- you provide place IDs. To search by category/city and get basic data or emails, use the flagship actor or the scraper first, then feed the place IDs here for full enrichment.

**What is the confidence score?**
A score indicating how reliably the email and phone data was extracted from the website. Higher scores mean the contact information is more likely to be accurate and belonging to the correct business.

### About IBLead

IBLead covers 50M+ businesses across 38 countries and 4,037 Google Maps categories. The enricher adds technology stack detection (16 categories), 6 social media profiles, and legal entity information on top of standard Google Maps data. Sign up at [app.iblead.com](https://app.iblead.com) for 200 free credits.

# Actor input Schema

## `place_ids` (type: `array`):

List of Google Maps Feature IDs (e.g. 0x89c2598f7ff4aa09:0x313547e757cb8cea) or full Google Maps URLs.
## `api_key` (type: `string`):

Your IBLead API key. Sign up free at https://app.iblead.com to get one (200 free credits).

## Actor input object example

```json
{
  "place_ids": [
    "0x89c2598f7ff4aa09:0x313547e757cb8cea"
  ]
}
````

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "place_ids": [
        "0x89c2598f7ff4aa09:0x313547e757cb8cea"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("iblead/google-maps-business-enricher").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "place_ids": ["0x89c2598f7ff4aa09:0x313547e757cb8cea"] }

# Run the Actor and wait for it to finish
run = client.actor("iblead/google-maps-business-enricher").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "place_ids": [
    "0x89c2598f7ff4aa09:0x313547e757cb8cea"
  ]
}' |
apify call iblead/google-maps-business-enricher --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=iblead/google-maps-business-enricher",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google Maps Business Enricher",
        "description": "Full business enrichment from Google Maps: tech stack (16 categories), emails, phones, social profiles, legal info. Provide place IDs, get results in seconds.",
        "version": "0.1",
        "x-build-id": "3vlR7lTnhXpZQjEVc"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/iblead~google-maps-business-enricher/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-iblead-google-maps-business-enricher",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/iblead~google-maps-business-enricher/runs": {
            "post": {
                "operationId": "runs-sync-iblead-google-maps-business-enricher",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/iblead~google-maps-business-enricher/run-sync": {
            "post": {
                "operationId": "run-sync-iblead-google-maps-business-enricher",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "place_ids",
                    "api_key"
                ],
                "properties": {
                    "place_ids": {
                        "title": "Place IDs or Google Maps URLs",
                        "type": "array",
                        "description": "List of Google Maps Feature IDs (e.g. 0x89c2598f7ff4aa09:0x313547e757cb8cea) or full Google Maps URLs.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "api_key": {
                        "title": "IBLead API Key",
                        "type": "string",
                        "description": "Your IBLead API key. Sign up free at https://app.iblead.com to get one (200 free credits)."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
