# Google Maps Leads Scraper - Emails, Phones, Socials & AI Pitch (`dev00/google-maps-leads-scraper-api`) Actor

Enterprise Google Maps B2B lead extractor with verified emails, executive contact names, direct phone numbers, WhatsApp links, social media handles (LinkedIn, Instagram, Facebook, TikTok), Google reviews with AI sentiment, opening hours, tech stack, and ready-to-send AI cold outreach pitches.

- **URL**: https://apify.com/dev00/google-maps-leads-scraper-api.md
- **Developed by:** [dev00](https://apify.com/dev00) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 33.3% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 scraped place (base lead)s

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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 Leads Scraper — Emails, Phones, Socials & AI Pitch

[![Apify](https://img.shields.io/badge/Apify-Actor-orange?logo=apify)](https://apify.com/dev00/google-maps-leads-scraper-api)
[![Rating](https://img.shields.io/badge/Rating-★★★★★-yellow)](#)
[![Speed](https://img.shields.io/badge/Speed-~500ms%20Ultra--Fast-brightgreen)](#)
[![Data](https://img.shields.io/badge/B2B%20Leads-Emails%20%7C%20Phones%20%7C%20Socials%20%7C%20AI%20Pitch-blue)](#)

> 🚀 **The #1 Most Complete Google Maps B2B Lead Generator & Email Extractor.**
> Extract high-converting local business leads from Google Maps at blazing speeds. Get direct phone numbers, WhatsApp links, verified corporate emails, executive decision-maker names, official social media handles (LinkedIn, Instagram, Facebook, TikTok, Twitter/X), Google customer reviews & AI sentiment analysis, unclaimed business detection (`is_claimed`), action links (reservations, online ordering, menu URLs), complete opening hours schedules, wheelchair accessibility, tech stack detection, SimilarWeb traffic rank, and AI-generated personalized cold outreach email pitches.

***

### 🚀 Overview & Key Highlights

**Google Maps Leads & B2B Scraper** is an all-in-one local business intelligence and prospecting engine designed for sales teams, marketing agencies, B2B lead generation specialists, recruiters, real estate brokers, and data analysts.

Unlike basic scrapers that only capture surface-level directory text, this Actor reverse-engineers Google Maps Protobuf endpoints to pull structured geospatial metadata and combines it with a multi-layered B2B enrichment pipeline:

- 🔍 **Google Maps Protobuf Search**: Instant extraction of business titles, primary & secondary categories, structured street/city/postal addresses, exact GPS latitude & longitude coordinates, direct phone numbers, Google ratings, review counts, and CIDs.
- 🎯 **Unclaimed Listing Detection (`is_claimed`)**: Flags whether a business has claimed their Google Business Profile—the #1 high-converting sales lead hook for digital marketing and local SEO agencies!
- 🔗 **Action Links Discovery**: Extracts reservation URLs (OpenTable, Resy, Booksy), online food delivery URLs (UberEats, DoorDash, Deliveroo, Grubhub), and official menu links.
- ⭐ **Google Reviews & AI Customer Sentiment**: Extracts recent customer reviews with reviewer names, ratings, text, dates, and owner responses, plus generates an AI sentiment summary (common praises vs complaints).
- 📧 **Verified Business Emails & Executive Contacts**: Deep domain intelligence extracting official contact emails, executive names, and job positions directly associated with each business's website.
- 📱 **Omnichannel Social Media Discovery**: Automatic lookup of official company profiles across LinkedIn, Instagram, Facebook, TikTok, Twitter/X, and YouTube.
- 🗺️ **Deep Area Grid Search (Quadtree)**: Subdivides geographic bounding boxes to bypass Google's 120-result single-search cap and extract thousands of places per city.
- 🌐 **Direct URL & Place ID Input**: Accept direct Google Maps links or Place IDs to enrich existing databases without keyword searches.
- ⚡ **Deep Place Metadata**: Complete weekly opening hours schedules, price symbols (`$` to `$$$$`), operational status (`OPERATIONAL`, `CLOSED`), wheelchair accessibility flags, amenities, plus codes, and photos.
- 💼 **Corporate Intelligence**: Corporate phone lookups and employee team size estimation.
- 💻 **CMS & Technology Stack Detection**: Identifies whether target businesses run on WordPress, Shopify, Webflow, React, Magento, Wix, or custom stacks, plus integrated analytics.
- 📈 **Traffic & Authority Intelligence**: Real-time SimilarWeb global traffic rank indicators.
- 🤖 **Single Competitor AI Lead Scoring & Outreach Generator**: Calculates a 0–100 Digital Maturity Score, highlights strategic digital growth weaknesses, and crafts customized, ready-to-send B2B cold outreach email pitches.
- 📡 **Webhook CRM Dispatch**: Automatically pushes extracted lead batches directly to Zapier, Make.com, HubSpot, or any custom webhook endpoint.

***

### 🎯 High-Impact Use Cases

1. **Local Agency & SEO Prospecting (Unclaimed GMBs)**:
   Filter for businesses with `is_claimed: false` and pitch Google Business Profile verification, local SEO optimization, and review management services.
2. **B2B Cold Outreach & Outbound Sales**:
   Build targeted prospecting lists of high-intent local businesses (e.g. dentists, roofing contractors, marketing agencies, accountants, restaurants) with verified emails and direct phone numbers.
3. **Hospitality & Restaurant SaaS Sales**:
   Extract restaurants with their online delivery links (`order_online_urls`) and table reservation links (`booking_url`) to pitch 0% commission direct ordering systems.
4. **Reputation & Competitor Sentiment Analysis**:
   Scrape Google reviews and analyze AI sentiment to find recurring customer pain points and weaknesses across local competitors.
5. **Local SEO & NAP Citation Audits**:
   Extract exact Google Maps NAP (Name, Address, Phone) consistency data, categories, CIDs, and place IDs for local SEO ranking campaigns.

***

### 🛠️ Input Parameters & Configuration

| Parameter | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `searchQueries` | Array of Strings | `["coffee shop London"]` | List of search terms or keywords to query on Google Maps. |
| `startUrls` | Array of Strings | `[]` | Direct Google Maps place/search URLs to enrich directly without search terms. |
| `placeIds` | Array of Strings | `[]` | Direct Google Place IDs or CIDs to enrich. |
| `location` | String | `""` | Optional location or country string appended automatically to queries (e.g. `London, UK`). |
| `maxPlacesPerSearch` | Integer | `20` | Maximum number of businesses/places to scrape per query (supports up to `1,000` leads per keyword). |
| `deep_grid` | Boolean | `false` | Subdivides the area into multi-viewport coordinate grids to bypass Google's 120-place cap. |
| `language` | String (select) | `"en"` | Google Maps language interface (`en`, `es`, `fr`, `de`, `it`, `pt`, `ar`, `nl`, `ja`). |
| `country` | String | `"us"` | Google Maps country domain / region code (`us`, `uk`, `fr`, `de`, `ca`, `au`, etc.). |
| `enrich_emails` | Boolean | `true` | **Add-on**: Discovers verified corporate emails, executive contact names, and positions from official domains. |
| `enrich_socials` | Boolean | `true` | **Add-on**: Extracts official company social profiles (LinkedIn, Instagram, Facebook, TikTok, Twitter/X, YouTube). |
| `enrich_place_details` | Boolean | `true` | **Add-on**: Extracts deep place details: opening hours, amenities, accessibility, price symbols, and photos. |
| `scrape_reviews` | Boolean | `false` | **Add-on**: Extracts recent customer reviews and generates AI Customer Sentiment summary. |
| `max_reviews_per_place` | Integer | `5` | Maximum number of reviews to extract per place (1 to 50). |
| `enrich_business_leads` | Boolean | `false` | **Add-on**: Extracts corporate phone numbers and estimated employee team size. |
| `enrich_technologies` | Boolean | `false` | **Add-on**: Identifies underlying CMS (WordPress, Shopify, Webflow), JavaScript libraries, and analytics tools. |
| `enrich_domain_rank` | Boolean | `false` | **Add-on**: Queries SimilarWeb global traffic rank for domain authority. |
| `ai_analysis` | Boolean | `true` | **Add-on**: Generates AI digital maturity scoring, weaknesses, and a personalized B2B cold email outreach pitch. |
| `filter_only_unclaimed` | Boolean | `false` | Filters results to ONLY return businesses with unclaimed Google Business Profiles. |
| `filter_only_with_website` | Boolean | `false` | Filters results to only return businesses that have an active official website. |
| `filter_only_with_phone` | Boolean | `false` | Filters results to only return businesses that have a listed phone number. |
| `filter_only_with_email` | Boolean | `false` | Filters results to only return businesses with at least one verified email found. |
| `filter_min_rating` | Number | `null` | Excludes businesses with a Google star rating below this threshold (e.g. `4.0` or `4.5`). |
| `webhook_url` | String | `""` | Optional HTTP POST Webhook URL to deliver extracted leads upon completion. |

***

### 📊 Sample Output Dataset (JSON)

```json
{
  "title": "Dishoom Covent Garden",
  "category": "Indian restaurant",
  "categories": [
    "Indian restaurant",
    "Bar",
    "Breakfast restaurant"
  ],
  "address": "12 Upper St Martin's Ln, London, WC2H 9FB, United Kingdom",
  "street": "12 Upper St Martin's Ln",
  "city": "London",
  "postal_code": "WC2H 9FB",
  "state": "England",
  "country_code": "GB",
  "latitude": 51.5125,
  "longitude": -0.1265,
  "phone": "020 7420 9320",
  "phone_international": "+442074209320",
  "website": "https://www.dishoom.com/covent-garden/",
  "domain": "dishoom.com",
  "rating": 4.7,
  "reviews_count": 8420,
  "price_level": 2,
  "price_symbol": "$$",
  "business_status": "OPERATIONAL",
  "is_claimed": true,
  "booking_url": "https://www.dishoom.com/reservations/",
  "order_online_urls": [
    "https://deliveroo.co.uk/menu/london/covent-garden/dishoom-covent-garden"
  ],
  "menu_url": "https://www.dishoom.com/food-drink/",
  "place_id": "ChIJvVFOfeQEdkgRkQR6cN0A7rA",
  "cid_hex": "0x487604d47c4e51bd:0xb0ee00dd707a0491",
  "google_maps_url": "https://www.google.com/maps/place/?q=place_id:ChIJvVFOfeQEdkgRkQR6cN0A7rA",
  "social_profiles": {
    "linkedin": "https://linkedin.com/company/dishoom",
    "instagram": "https://instagram.com/dishoom",
    "facebook": "https://facebook.com/dishoomlondon",
    "tiktok": null,
    "twitter": "https://x.com/dishoom",
    "youtube": null,
    "all_social_links": [
      "https://linkedin.com/company/dishoom",
      "https://instagram.com/dishoom",
      "https://facebook.com/dishoomlondon"
    ]
  },
  "emails": [
    {
      "email": "coventgarden@dishoom.com",
      "name": "General Manager",
      "position": "Manager",
      "type": "corporate",
      "confidence": 95
    }
  ],
  "total_emails": 1,
  "employee_count": "201-500",
  "technologies": [
    { "name": "WordPress", "category": "CMS" },
    { "name": "Google Analytics", "category": "Analytics" }
  ],
  "similarweb_rank": 142050,
  "opening_hours": [
    { "day": "Monday", "hours": "08:00 - 23:00" },
    { "day": "Tuesday", "hours": "08:00 - 23:00" },
    { "day": "Wednesday", "hours": "08:00 - 23:00" },
    { "day": "Thursday", "hours": "08:00 - 23:00" },
    { "day": "Friday", "hours": "08:00 - 00:00" },
    { "day": "Saturday", "hours": "09:00 - 00:00" },
    { "day": "Sunday", "hours": "09:00 - 23:00" }
  ],
  "amenities": [
    "Wheelchair accessible entrance",
    "Outdoor seating",
    "Serves vegan dishes"
  ],
  "reviews": [
    {
      "author": "Sarah Jenkins",
      "rating": 5,
      "published_at": "a week ago",
      "text": "The house black daal and chicken ruby were absolutely world class. Incredible atmosphere!",
      "owner_response": "Thank you Sarah! We hope to welcome you back soon."
    }
  ],
  "ai_review_sentiment": {
    "sample_size": 5,
    "average_sample_rating": 4.8,
    "customer_praises": [
      "Attentive and welcoming customer service",
      "Exceptional product / service quality",
      "Inviting atmosphere & modern setup"
    ],
    "customer_complaints": [],
    "overall_sentiment": "EXCELLENT"
  },
  "ai_analysis": {
    "digital_maturity_score": 95,
    "strengths": [
      "High customer satisfaction rating (4.7★)",
      "Active web property and digital footprint",
      "Active multi-channel social media profiles"
    ],
    "growth_opportunities": [],
    "b2b_cold_outreach": {
      "subject": "Quick question regarding Dishoom Covent Garden growth",
      "personalized_pitch": "Hi Dishoom Covent Garden Team,\n\nI came across your business in London and noticed your strong reputation in Indian restaurant.\n\nWe help leading food & beverage brands scale reservation automation.\n\nWould you be open to a brief 5-minute chat this week?"
    }
  }
}
```

***

### 💰 Transparent Pay-Per-Result Pricing

| Event Key | Event Title | Rate (USD) | Rate per 1,000 | Notes |
| :--- | :--- | :--- | :--- | :--- |
| `scraped-place` | **Scraped Place (Base Lead)** | `$0.004` | `$4.00 / 1k` | Core lead record with full address, phone, coords & rating |
| `filter-applied` | **Filter Applied** | `$0.001` | `$1.00 / 1k` | Applied when using rating, phone, unclaimed, or email filters |
| `additional-place-details` | **Additional Place Details** | `$0.002` | `$2.00 / 1k` | Full opening hours schedule, amenities, price symbols |
| `review-scraped` | **Google Review Scraped** | `$0.0005` | `$0.50 / 1k` | Extracted customer review record + AI sentiment summary |
| `company-contacts-enrichment` | **Company Contacts Enrichment** | `$0.003` | `$3.00 / 1k` | Verified business emails & contact names |
| `social-media-enrichment` | **Social Media Profile Discovery** | `$0.100` | `$100.00 / 1k` | LinkedIn, Instagram, Facebook, TikTok, Twitter/X |
| `business-leads-enrichment` | **Business Leads (Phone & Size)**| `$0.100` | `$100.00 / 1k` | Corporate phone lookup and team size estimation |
| `single-competitor-ai-analysis` | **Single Competitor AI Analysis** | `$0.025` | `$25.00 / 1k` | Digital score, weaknesses & personalized cold pitch |

***

### ⚡ Integration Examples

#### 1. Node.js (Apify Client)

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

const client = new ApifyClient({
  token: 'YOUR_APIFY_TOKEN',
});

const run = await client.actor('OSrjBa6SMrJLcNawo').call({
  searchQueries: ['dentists in Miami', 'restaurants London'],
  maxPlacesPerSearch: 50,
  enrich_emails: true,
  enrich_socials: true,
  scrape_reviews: true,
  max_reviews_per_place: 5,
  ai_analysis: true
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Extracted ${items.length} leads!`);
```

#### 2. Python (Apify Client)

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("OSrjBa6SMrJLcNawo").call(run_input={
    "searchQueries": ["commercial real estate London"],
    "maxPlacesPerSearch": 100,
    "enrich_emails": True,
    "enrich_socials": True,
    "filter_only_unclaimed": False
})

dataset_items = client.dataset(run["defaultDatasetId"]).list_items().items
for lead in dataset_items:
    print(f"{lead['title']} - {lead['phone']} - Price: {lead.get('price_symbol')} - Claimed: {lead.get('is_claimed')}")
```

#### 3. REST API / cURL

```bash
curl -X POST "https://api.apify.com/v2/acts/OSrjBa6SMrJLcNawo/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "searchQueries": ["marketing agency New York"],
    "maxPlacesPerSearch": 20,
    "enrich_emails": true,
    "enrich_socials": true,
    "scrape_reviews": true
  }'
```

# Actor input Schema

## `searchQueries` (type: `array`):

List of keywords or business queries to search on Google Maps (e.g., 'coffee shop London', 'dentists in Miami', 'plumbers Chicago').

## `startUrls` (type: `array`):

Direct Google Maps place or search URLs to enrich directly (e.g. https://www.google.com/maps/place/...).

## `placeIds` (type: `array`):

Direct Google Place IDs or CIDs to enrich.

## `location` (type: `string`):

Optional location or country to append to queries (e.g., 'London, UK' or 'New York, NY').

## `maxPlacesPerSearch` (type: `integer`):

Maximum number of places/leads to extract per search query (up to 1,000).

## `deep_grid` (type: `boolean`):

Subdivides the target area into multi-coordinate viewport grids to bypass Google's 120-place cap and maximize lead extraction.

## `radius_km` (type: `number`):

Optional strict radial circle filter around center coordinates in kilometers (e.g., 5).

## `center_lat` (type: `number`):

Center latitude coordinate for radius filtering.

## `center_lng` (type: `number`):

Center longitude coordinate for radius filtering.

## `language` (type: `string`):

Google Maps interface language code.

## `country` (type: `string`):

Google Maps regional domain / country code.

## `enrich_emails` (type: `boolean`):

Extract verified business emails, executive contact names, and positions from the company's official domain.

## `enrich_socials` (type: `boolean`):

Extract official company social media profiles: LinkedIn, Instagram, Facebook, TikTok, Twitter/X, and YouTube.

## `enrich_place_details` (type: `boolean`):

Extract opening hours, service options matrix, popular times, amenities, photos, price symbols, and plus codes.

## `scrape_reviews` (type: `boolean`):

Extract latest customer reviews (author, rating, text, date, owner reply) and generate an AI Customer Sentiment summary.

## `max_reviews_per_place` (type: `integer`):

Number of recent reviews to extract per place when review scraping is enabled.

## `enrich_business_leads` (type: `boolean`):

Extract verified corporate phone numbers and estimated employee team size.

## `enrich_technologies` (type: `boolean`):

Detect underlying CMS, frameworks, e-commerce systems, and analytics powering the company website.

## `enrich_domain_rank` (type: `boolean`):

Extract SimilarWeb global traffic rank for the company domain.

## `ai_analysis` (type: `boolean`):

Generate an AI digital maturity score (0-100), digital growth opportunities, and a ready-to-send tailored B2B cold outreach email pitch.

## `filter_only_unclaimed` (type: `boolean`):

Filter results to only return businesses that have NOT claimed their Google Business Profile.

## `filter_only_with_website` (type: `boolean`):

Filter results to only return businesses that have an active official website.

## `filter_only_with_phone` (type: `boolean`):

Filter results to only return businesses that have a listed phone number.

## `filter_only_with_email` (type: `boolean`):

Filter results to only return businesses that have at least one verified email found.

## `filter_min_rating` (type: `number`):

Exclude businesses with Google rating below this threshold (e.g. 4.0 or 4.5).

## `webhook_url` (type: `string`):

Optional HTTP POST Webhook URL to deliver the extracted dataset upon run completion.

## Actor input object example

```json
{
  "searchQueries": [
    "coffee shop Manhattan"
  ],
  "maxPlacesPerSearch": 5,
  "deep_grid": false,
  "language": "en",
  "country": "us",
  "enrich_emails": false,
  "enrich_socials": false,
  "enrich_place_details": false,
  "scrape_reviews": false,
  "max_reviews_per_place": 5,
  "enrich_business_leads": false,
  "enrich_technologies": false,
  "enrich_domain_rank": false,
  "ai_analysis": false,
  "filter_only_unclaimed": false,
  "filter_only_with_website": false,
  "filter_only_with_phone": false,
  "filter_only_with_email": false
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `keyValueStoreResult` (type: `string`):

No description

# 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 = {
    "searchQueries": [
        "coffee shop Manhattan"
    ],
    "location": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("dev00/google-maps-leads-scraper-api").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 = {
    "searchQueries": ["coffee shop Manhattan"],
    "location": "",
}

# Run the Actor and wait for it to finish
run = client.actor("dev00/google-maps-leads-scraper-api").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "searchQueries": [
    "coffee shop Manhattan"
  ],
  "location": ""
}' |
apify call dev00/google-maps-leads-scraper-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,dev00/google-maps-leads-scraper-api"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/OSrjBa6SMrJLcNawo/builds/FOxnAO9WCzLgy12Ac/openapi.json
