# France SIRET Finder — Google Maps (`iblead/france-business-data-siret`) Actor

Extract French businesses with official SIRET/SIREN numbers from INSEE. Includes emails, social profiles, tech stack, INPI legal data. The only SIRET source on Apify.

- **URL**: https://apify.com/iblead/france-business-data-siret.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

$7.00 / 1,000 siret lookups

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

## France Business Data -- SIRET Finder from Google Maps

Search French businesses on Google Maps and get their official SIRET and SIREN numbers from the French INSEE/INPI SIRENE registry. This is the only actor on Apify that matches Google Maps businesses to French legal identifiers. Returns everything the Enricher actor provides (emails, social profiles, tech stack, legal info) plus SIRET, SIREN, legal entity name from SIRENE, and INPI data.

Works in two modes: **search mode** (find businesses by category and city in France) or **lookup mode** (provide place IDs for specific businesses).

### What data do you get?

**All fields from the Enricher (core data, emails, socials, tech stack, legal info) plus:**

| Field | Description |
|-------|-------------|
| `siret` | 14-digit SIRET number (establishment identifier) |
| `siren` | 9-digit SIREN number (company identifier) |
| `sirene_legal_name` | Official legal name from the SIRENE registry |
| `inpi_data` | Additional data from the INPI (French industrial property institute) |
| `tva` | Intra-community VAT number |
| `legal_name` | Registered legal entity name |

**Full field list (40+ fields per business):**

| Category | Fields |
|----------|--------|
| Identity | name, place_id, cid, google_maps_url, category, categories, business_description |
| Location | address, city, postal_code, country_code, latitude, longitude, timezone |
| Contact | phone, website_url, emails, phones_from_website, confidence_score |
| Social | facebook, instagram, linkedin, twitter, tiktok, youtube |
| Google data | rating, review_count, business_status, claimed, photo_url, hours |
| Tech stack | technologies (16 categories: CMS, analytics, payment, chat, etc.) |
| Legal (FR) | siret, siren, sirene_legal_name, inpi_data, tva, legal_name |
| Timestamps | first_seen_at, last_seen_at |

### Use cases

- **B2B prospecting in France**: Search businesses by category and city, get their SIRET for compliance, and their email for outreach -- all in one query.
- **KYC and compliance**: Verify the legal identity of a French business by matching its Google Maps listing to its SIRENE registry entry.
- **European business intelligence**: Cross-reference Google Maps data with official French government registries for due diligence.
- **Accounting and invoicing**: Look up a client's SIRET to generate compliant French invoices (SIRET is required on B2B invoices in France).
- **Market analysis France**: Map the French business landscape by category, city, and legal structure using both Google Maps data and SIRENE data.
- **Supplier verification**: Confirm that a French supplier is a real, registered business before signing a contract.

### How to use

**Search mode (find businesses):**
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. Select a **category** or **subcategory**.
4. Optionally filter by **city** (e.g. "Paris", "Lyon,Marseille") or **postal code** (e.g. "75" for all of Paris).
5. The actor automatically filters for France and businesses with a matched SIRET.

**Lookup mode (specific businesses):**
1. Provide **place IDs** or Google Maps URLs in the place_ids field.
2. The actor returns the full profile including SIRET data for each business.

### Input parameters

| Parameter | Required | Type | Description |
|-----------|----------|------|-------------|
| `category` | No | String | Broad category (29 options). |
| `subcategory` | No | String | Exact Google Maps category (4,037 options). |
| `city` | No | String | City name. Comma-separated for multiple. Default prefill: Paris. |
| `postal_code` | No | String | Postal code. Supports prefixes: "75" matches 75001-75020. |
| `has_email` | No | Boolean | Only businesses with an email address. |
| `min_rating` | No | Number | Minimum Google rating (1.0 - 5.0). |
| `min_reviews` | No | Integer | Minimum number of Google reviews. |
| `max_results` | No | Integer | Maximum businesses to return. Default: 1,000. |
| `place_ids` | No | Array | Place IDs or URLs for lookup mode. Overrides search mode. |
| `api_key` | Yes | String | Your IBLead API key. |

Note: country is locked to France. You do not need to specify it.

### Pricing

This actor charges **$7.00 per 1,000 results**.

| Actor | Price per 1K | SIRET/SIREN | Tech stack | Emails | Social profiles |
|-------|-------------|------------|-----------|--------|----------------|
| **IBLead SIRET Finder (this actor)** | **$7.00** | Yes | Yes | Yes | 6 platforms |
| IBLead Enricher | $4.00 | No | Yes | Yes | 6 platforms |
| IBLead (flagship) | $3.50 | No | No | Yes | 6 platforms |

There is no other actor on the Apify Store that provides SIRET/SIREN matching for Google Maps businesses. This data is sourced from the official French SIRENE registry (INSEE) and INPI, matched to Google Maps listings using IBLead's proprietary scoring algorithm.

### FAQ

**What is a SIRET number?**
SIRET is a 14-digit identifier assigned to every business establishment in France by INSEE (the national statistics office). The first 9 digits are the SIREN (company-level identifier), and the last 5 identify the specific establishment. SIRET is required on French B2B invoices and contracts.

**Do all French businesses on Google Maps have a SIRET?**
No. In search mode, the actor only returns businesses where a SIRET match was found with sufficient confidence. In lookup mode, the `siret` field may be null if no match was found for that business.

**How accurate is the SIRET matching?**
IBLead uses a multi-signal scoring algorithm that matches Google Maps business data (name, address, category) against the SIRENE registry. Only high-confidence matches are included. The `confidence_score` field indicates match quality.

**What is inpi_data?**
Additional business information from the INPI (Institut National de la Propriete Industrielle), which manages the French commercial register. The `inpi_data` object contains the following sub-fields:
- `url` -- direct link to the INPI registry page
- `status` -- company status (active/radiee)
- `forme_juridique` -- legal form (SAS, SARL, EURL, etc.)
- `code_ape` -- APE/NAF activity code
- `capital_social` -- registered capital
- `date_debut_activite` -- activity start date
- `activite_principale` -- main business activity description
- `adresse` -- registered address
- `dirigeants` -- list of directors, each with: nom, prenom, qualite, date_naissance, commune
- `representants_entreprises` -- corporate representatives (if any)

**Can I use this for other countries?**
No. SIRET/SIREN is specific to France. For other countries, use the [Google Maps Business Database](https://apify.com/iblead/google-maps-business-database) or [Business Enricher](https://apify.com/iblead/google-maps-business-enricher) actors.

### About IBLead

IBLead covers 50M+ businesses across 38 countries, with 5M businesses in France alone. For French businesses, IBLead matches Google Maps listings to the official SIRENE registry (INSEE/INPI) to provide verified SIRET, SIREN, and legal entity information. This matching is done using a proprietary scoring algorithm -- not simple name matching. Sign up at [app.iblead.com](https://app.iblead.com) for 200 free credits.

# Actor input Schema

## `category` (type: `string`):

Broad business category (groups multiple Google Maps categories). 'Restaurant' includes Italian Restaurant, Mexican Restaurant, etc.
## `subcategory` (type: `string`):

Exact Google Maps category (e.g. 'Italian Restaurant', 'Dentist', 'Hair Salon'). More precise than macro. Type to search 4000+ categories.
## `city` (type: `string`):

Filter by city name (e.g. 'Paris', 'Lyon', 'Marseille'). Comma-separated for multiple cities (e.g. 'Paris,Lyon').
## `postal_code` (type: `string`):

Filter by postal code. Supports prefixes: e.g. '75' matches all Paris codes (75001-75020), '69' matches all Lyon codes.
## `max_results` (type: `integer`):

Maximum number of businesses to return (search mode only).
## `has_email` (type: `boolean`):

Only return businesses with an email address found on their website.
## `min_rating` (type: `number`):

Minimum Google rating (1.0 - 5.0).
## `min_reviews` (type: `integer`):

Minimum number of Google reviews.
## `place_ids` (type: `array`):

Optional: provide place IDs to look up specific businesses instead of searching. Overrides search mode.
## `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
{
  "category": "Restaurant",
  "city": "Paris",
  "max_results": 1000
}
````

# 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 = {
    "category": "Restaurant",
    "city": "Paris",
    "max_results": 1000
};

// Run the Actor and wait for it to finish
const run = await client.actor("iblead/france-business-data-siret").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 = {
    "category": "Restaurant",
    "city": "Paris",
    "max_results": 1000,
}

# Run the Actor and wait for it to finish
run = client.actor("iblead/france-business-data-siret").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 '{
  "category": "Restaurant",
  "city": "Paris",
  "max_results": 1000
}' |
apify call iblead/france-business-data-siret --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "France SIRET Finder — Google Maps",
        "description": "Extract French businesses with official SIRET/SIREN numbers from INSEE. Includes emails, social profiles, tech stack, INPI legal data. The only SIRET source on Apify.",
        "version": "0.1",
        "x-build-id": "GhUAMgW7e0jBwH7dN"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/iblead~france-business-data-siret/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-iblead-france-business-data-siret",
                "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~france-business-data-siret/runs": {
            "post": {
                "operationId": "runs-sync-iblead-france-business-data-siret",
                "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~france-business-data-siret/run-sync": {
            "post": {
                "operationId": "run-sync-iblead-france-business-data-siret",
                "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": [
                    "api_key"
                ],
                "properties": {
                    "category": {
                        "title": "Category (macro)",
                        "enum": [
                            "Accommodation",
                            "Agriculture & Garden",
                            "Automotive",
                            "Beauty & Wellness",
                            "Cleaning & Maintenance",
                            "Construction & Home",
                            "Education",
                            "Entertainment & Leisure",
                            "Events & Wedding",
                            "Finance & Insurance",
                            "Funeral",
                            "Government & Public",
                            "Health & Medical",
                            "Manufacturing",
                            "Media & Advertising",
                            "Other",
                            "Pets & Animals",
                            "Professional Services",
                            "Real Estate",
                            "Religion",
                            "Restaurant",
                            "Shopping & Retail",
                            "Social Services",
                            "Sports & Fitness",
                            "Technology & IT",
                            "Transportation & Logistics",
                            "Travel & Tourism",
                            "Utilities",
                            "Wholesale & Supply"
                        ],
                        "type": "string",
                        "description": "Broad business category (groups multiple Google Maps categories). 'Restaurant' includes Italian Restaurant, Mexican Restaurant, etc."
                    },
                    "subcategory": {
                        "title": "Subcategory (Google Maps category)",
                        "type": "string",
                        "description": "Exact Google Maps category (e.g. 'Italian Restaurant', 'Dentist', 'Hair Salon'). More precise than macro. Type to search 4000+ categories."
                    },
                    "city": {
                        "title": "City",
                        "type": "string",
                        "description": "Filter by city name (e.g. 'Paris', 'Lyon', 'Marseille'). Comma-separated for multiple cities (e.g. 'Paris,Lyon')."
                    },
                    "postal_code": {
                        "title": "Postal / ZIP code",
                        "type": "string",
                        "description": "Filter by postal code. Supports prefixes: e.g. '75' matches all Paris codes (75001-75020), '69' matches all Lyon codes."
                    },
                    "max_results": {
                        "title": "Max results",
                        "minimum": 1,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Maximum number of businesses to return (search mode only).",
                        "default": 1000
                    },
                    "has_email": {
                        "title": "Has email",
                        "type": "boolean",
                        "description": "Only return businesses with an email address found on their website."
                    },
                    "min_rating": {
                        "title": "Min rating",
                        "minimum": 1,
                        "maximum": 5,
                        "type": "number",
                        "description": "Minimum Google rating (1.0 - 5.0)."
                    },
                    "min_reviews": {
                        "title": "Min reviews",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum number of Google reviews."
                    },
                    "place_ids": {
                        "title": "Place IDs (lookup mode)",
                        "type": "array",
                        "description": "Optional: provide place IDs to look up specific businesses instead of searching. Overrides search mode.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
