Create GMB Discovery signal
Catch local businesses the moment they appear on Google Maps — newly indexed restaurants, plumbers, salons, and other categories across France or Belgium. Every new business matching your filters is pushed to your webhook.
Input: country (FR or BE), category / subcategory (e.g., "Restaurant" or "Italian restaurant"), cities by name (e.g., "Paris", "Lyon"), postal codes (France), rating and review-count ranges, presence filters (hasPhone, hasEmail, hasWebsite, hasSiret), and APE/NAF codes (France-only). Optionally enable keepOnlyConfirmedNew (France-only) to cross-check the French SIRENE registry and drop false positives that were registered before a freshness cutoff (default 180 days, configurable); this switches per-lead pricing from 1 to 5 credits.
Output: each newly-indexed business matching your filters is sent as a lead to your webhookUrl containing: company name, website URL, Google Maps URL, category, Google rating, review count, location, SIREN/VAT identifiers, and a generic business email if one is found on the business's website. This is a company-only signal (no person contacts). Optionally enrich each lead with email enrichment, phone enrichment, full SIRENE company data, detected technologies, or homepage content via getEmails/getPhones/getSireneData/detectTechnologies/getHomepageContent flags.
Use cases:
- Local-SMB outreach — reach new local businesses (agencies, SMB SaaS, suppliers) as they open.
- Territory-based field sales — filter by city and category to feed a local rep's pipeline.
Request
- Base URL: https://api.rodz.io (the document declares no server; this is the origin it was published from)
- URL: https://api.rodz.io/api/v1/signals/gmb-listing
- Auth: HTTP bearer
Request body
Example request
{
"config": {
"category": "Restaurant",
"cities": [
"Paris"
],
"country": "FR",
"hasPhone": true,
"keepOnlyConfirmedNew": false
},
"dailyLeadLimit": 100,
"name": "New restaurants in Paris",
"status": "active",
"webhookUrl": "https://your-server.com/webhooks/rodz"
}Response
Signal created
Example response
{
"applied": {
"allowUnknownCompanySize": false,
"maxJobAgeDays": 180
},
"config": {
"companySizeFilters": [
"201-500",
"501-1000"
],
"getEmails": true,
"jobTitles": [
"CTO"
],
"locations": [
"France"
],
"maxJobAgeDays": 90
},
"createdAt": "2026-01-15T10:30:00Z",
"dailyLeadLimit": 50,
"duplicateHandling": "refuse",
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"lastLeadAt": "2026-03-15T14:22:00Z",
"leadsToday": 3,
"leadsTotal": 127,
"name": "CTOs changing jobs in France",
"signalTypeId": "job_changes",
"status": "active",
"updatedAt": "2026-03-16T08:00:00Z",
"warnings": [
{
"code": "VALUE_BELOW_MINIMUM",
"field": "maxJobAgeDays",
"message": "`maxJobAgeDays` is 90; this signal applies 180. Job changes are delivered up to 180 days after the start date, and a shorter window is raised to that minimum.",
"severity": "info",
"values": [
"90"
]
}
],
"webhookUrl": "https://your-server.com/webhooks/rodz"
}Changes
No recorded changes to this operation across all 1 revision of this API.