scrapefield-com · Schema
google_maps_place
One business or place, as its Google Maps listing shows it.
APIDataScrapingSocialMediaAutomation
Properties
| Name | Type | Description |
|---|---|---|
| place_id | string | Google's place ID — the same one the Places API and every Maps URL use. |
| name | string | As the listing shows it. |
| category | stringnull | The category printed under the name, e.g. "Coffee shop". |
| categories | array | Every category on the listing, the main one first. |
| formatted_address | stringnull | The address as one line, as Google formats it. |
| address | object | The same address in parts. Where the source gives the address as one line, only `country_code` is filled. |
| location | objectnull | The pin. `null` when the source does not give it. |
| plus_code | stringnull | The global plus code, e.g. `87G8P2QX+RV`. |
| rating | numbernull | The star rating, 1.0–5.0. `null` until the place has ratings. |
| user_ratings_total | integernull | How many ratings the star rating is the average of. |
| rating_distribution | objectnull | How many ratings of each star value, as the listing's bar chart shows them. |
| price_level | integernull | 0 (free) to 4 (very expensive), as the Places API counts it. |
| formatted_phone_number | stringnull | The phone number in local format. |
| international_phone_number | stringnull | With the country code, e.g. `+1 718-555-0142`. |
| website | stringnull | The business's own site. |
| url | string | The place on Google Maps. |
| business_status | string | As the Places API reports it. |
| opening_hours | objectnull | Regular opening hours. `null` when the listing has none. |
| popular_times | arraynull | The "Popular times" chart. `null` for places too quiet to have one. |
| about | object | The listing's About tab, by heading: `service_options`, `accessibility`, `amenities`, `payments` and so on — only the headings the place has. |
| claimed | booleannull | Whether the owner has claimed the listing. Unclaimed ones offer "Own this business?". |
| photo | objectnull | The listing's main photo. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/scrapefield-com/json-schema/scrapefield-com-google-maps-place-schema.json",
"title": "google_maps_place",
"description": "One business or place, as its Google Maps listing shows it.",
"x-generated": "2026-10-31",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/scrapefield-com-openapi.json#/components/schemas/google_maps_place",
"type": "object",
"required": [
"place_id",
"name",
"category",
"categories",
"formatted_address",
"address",
"location",
"plus_code",
"rating",
"user_ratings_total",
"rating_distribution",
"price_level",
"formatted_phone_number",
"international_phone_number",
"website",
"url",
"business_status",
"opening_hours",
"popular_times",
"about",
"claimed",
"photo"
],
"properties": {
"place_id": {
"type": "string",
"description": "Google's place ID — the same one the Places API and every Maps URL use."
},
"name": {
"type": "string",
"description": "As the listing shows it."
},
"category": {
"type": [
"string",
"null"
],
"description": "The category printed under the name, e.g. \"Coffee shop\"."
},
"categories": {
"type": "array",
"items": {
"type": "string",
"description": "One category."
},
"description": "Every category on the listing, the main one first."
},
"formatted_address": {
"type": [
"string",
"null"
],
"description": "The address as one line, as Google formats it."
},
"address": {
"type": "object",
"required": [
"street",
"city",
"region",
"postal_code",
"country_code"
],
"properties": {
"street": {
"type": [
"string",
"null"
],
"description": "Street and number. `null` where the source gives the address as one line: see `formatted_address`."
},
"city": {
"type": [
"string",
"null"
],
"description": "City or town."
},
"region": {
"type": [
"string",
"null"
],
"description": "State, province or region."
},
"postal_code": {
"type": [
"string",
"null"
],
"description": "Postal or ZIP code."
},
"country_code": {
"type": [
"string",
"null"
],
"description": "ISO 3166-1 alpha-2, e.g. `US`."
}
},
"additionalProperties": false,
"description": "The same address in parts. Where the source gives the address as one line, only `country_code` is filled."
},
"location": {
"type": [
"object",
"null"
],
"required": [
"lat",
"lng"
],
"properties": {
"lat": {
"type": "number",
"description": "Latitude."
},
"lng": {
"type": "number",
"description": "Longitude."
}
},
"additionalProperties": false,
"description": "The pin. `null` when the source does not give it."
},
"plus_code": {
"type": [
"string",
"null"
],
"description": "The global plus code, e.g. `87G8P2QX+RV`."
},
"rating": {
"type": [
"number",
"null"
],
"description": "The star rating, 1.0–5.0. `null` until the place has ratings."
},
"user_ratings_total": {
"type": [
"integer",
"null"
],
"description": "How many ratings the star rating is the average of."
},
"rating_distribution": {
"type": [
"object",
"null"
],
"required": [
"1",
"2",
"3",
"4",
"5"
],
"properties": {
"1": {
"type": "integer",
"description": "One-star ratings."
},
"2": {
"type": "integer",
"description": "Two-star ratings."
},
"3": {
"type": "integer",
"description": "Three-star ratings."
},
"4": {
"type": "integer",
"description": "Four-star ratings."
},
"5": {
"type": "integer",
"description": "Five-star ratings."
}
},
"additionalProperties": false,
"description": "How many ratings of each star value, as the listing's bar chart shows them."
},
"price_level": {
"type": [
"integer",
"null"
],
"description": "0 (free) to 4 (very expensive), as the Places API counts it."
},
"formatted_phone_number": {
"type": [
"string",
"null"
],
"description": "The phone number in local format."
},
"international_phone_number": {
"type": [
"string",
"null"
],
"description": "With the country code, e.g. `+1 718-555-0142`."
},
"website": {
"type": [
"string",
"null"
],
"format": "uri",
"description": "The business's own site."
},
"url": {
"type": "string",
"format": "uri",
"description": "The place on Google Maps."
},
"business_status": {
"type": "string",
"enum": [
"OPERATIONAL",
"CLOSED_TEMPORARILY",
"CLOSED_PERMANENTLY"
],
"description": "As the Places API reports it."
},
"opening_hours": {
"type": [
"object",
"null"
],
"required": [
"weekday_text",
"periods"
],
"properties": {
"weekday_text": {
"type": "array",
"items": {
"type": "string",
"description": "One day, e.g. \"Monday: 8:30 AM – 5:30 PM\" or \"Sunday: Closed\"."
},
"description": "Seven lines, Monday first, as the listing prints them."
},
"periods": {
"type": "array",
"items": {
"type": "object",
"required": [
"open",
"close"
],
"properties": {
"open": {
"type": "object",
"required": [
"day",
"time"
],
"properties": {
"day": {
"type": "integer",
"description": "0 is Sunday."
},
"time": {
"type": "string",
"description": "24-hour `HHMM`, local time."
}
},
"additionalProperties": false,
"description": "When it opens."
},
"close": {
"type": [
"object",
"null"
],
"required": [
"day",
"time"
],
"properties": {
"day": {
"type": "integer",
"description": "0 is Sunday."
},
"time": {
"type": "string",
"description": "24-hour `HHMM`, local time."
}
},
"additionalProperties": false,
"description": "When it closes."
}
},
"additionalProperties": false
},
"description": "The same hours as data. A place open around the clock has one period with no `close`."
}
},
"additionalProperties": false,
"description": "Regular opening hours. `null` when the listing has none."
},
"popular_times": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"required": [
"day",
"busyness"
],
"properties": {
"day": {
"type": "integer",
"description": "0 is Sunday."
},
"busyness": {
"type": "array",
"items": {
"type": "integer",
"description": "One hour, 0–100."
},
"description": "Twenty-four values, midnight first, 0–100 relative to the place's busiest hour."
}
},
"additionalProperties": false
},
"description": "The \"Popular times\" chart. `null` for places too quiet to have one."
},
"about": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string",
"description": "One item, e.g. \"Takeout\"."
},
"description": "The items under one heading, as the listing prints them."
},
"description": "The listing's About tab, by heading: `service_options`, `accessibility`, `amenities`, `payments` and so on — only the headings the place has."
},
"claimed": {
"type": [
"boolean",
"null"
],
"description": "Whether the owner has claimed the listing. Unclaimed ones offer \"Own this business?\"."
},
"photo": {
"type": [
"object",
"null"
],
"required": [
"url",
"width",
"height",
"author_name",
"author_url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The image on Google's CDN. We do not rehost images."
},
"width": {
"type": [
"integer",
"null"
],
"description": "Pixels."
},
"height": {
"type": [
"integer",
"null"
],
"description": "Pixels."
},
"author_name": {
"type": [
"string",
"null"
],
"description": "Who uploaded it, as the listing credits them. `null` for the owner's own photos."
},
"author_url": {
"type": [
"string",
"null"
],
"format": "uri",
"description": "Their Google Maps contributor page."
}
},
"additionalProperties": false,
"description": "The listing's main photo."
}
},
"additionalProperties": false
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/scrapefield-com-google-maps-place"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.