{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Maps Business Search & Place Details",
    "description": "Search Google Maps by keyword and location or enrich place links. Export names, addresses, phones, websites, categories and coordinates.",
    "version": "0.3",
    "x-build-id": "U6o9TLMLgHw2W2k5T"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/prodigious_penthouse~google-maps-place-details/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-prodigious_penthouse-google-maps-place-details",
        "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/prodigious_penthouse~google-maps-place-details/runs": {
      "post": {
        "operationId": "runs-sync-prodigious_penthouse-google-maps-place-details",
        "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/prodigious_penthouse~google-maps-place-details/run-sync": {
      "post": {
        "operationId": "run-sync-prodigious_penthouse-google-maps-place-details",
        "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",
        "properties": {
          "searchQueries": {
            "title": "Search keywords",
            "maxItems": 10,
            "type": "array",
            "description": "Enter up to 10 searches, such as coffee shops or dentists. Use this or provide place links below.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Search location",
            "type": "string",
            "description": "Location added to each keyword, for example San Francisco, CA. Google may return nearby results."
          },
          "startUrls": {
            "title": "Google Maps place links",
            "maxItems": 5000,
            "type": "array",
            "description": "Optional individual place links, up to 5,000. Search result links and remote URL-list files are unsupported.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxPlaces": {
            "title": "Maximum places to export",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum unique business records across all links and searches. Apify Free-plan accounts can export at most 10 per run; paid plans can set up to 5,000. Google can return fewer results.",
            "default": 1000
          },
          "maxSearchResultsPerQuery": {
            "title": "Maximum search results per keyword",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Limit search result links considered for each keyword. Google may restrict or truncate the list.",
            "default": 100
          },
          "includeReviewCounts": {
            "title": "Optional: enrich review counts (extra cost)",
            "type": "boolean",
            "description": "Off by default. When enabled, this Actor calls Compass Google Maps Scraper in your Apify account to fill missing review counts. The provider charges separately in addition to this Actor and platform usage. At Free-plan rates, direct-place lookups cost about $6 per 1,000 places plus a small start event; prices vary by plan. Counts are not guaranteed. The provider has a separate maximum cost, set below; this Actor's run limit does not cap the provider run.",
            "default": false
          },
          "reviewLookupLimit": {
            "title": "Review lookup limit",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Only the first N unique saved places are considered for this optional lookup; places with an existing count are skipped. The first group is held until the provider finishes. Later places are exported without this enrichment.",
            "default": 25
          },
          "reviewBudgetUsd": {
            "title": "Provider budget (USD)",
            "minimum": 0.5,
            "maximum": 100,
            "type": "number",
            "description": "Maximum charge for the single external provider run, separate from this Actor's cost limit. Minimum $0.50. Provider charges can occur even if results are incomplete, the parent run fails, or no counts are returned. Platform usage for this Actor remains separate.",
            "default": 0.5
          },
          "placeTimeoutSecs": {
            "title": "Timeout per place (seconds)",
            "minimum": 15,
            "maximum": 300,
            "type": "integer",
            "description": "Maximum time allowed to load each place before it is reported as failed.",
            "default": 90
          },
          "maxRetries": {
            "title": "Retries for temporary failures",
            "minimum": 0,
            "maximum": 2,
            "type": "integer",
            "description": "Retry temporary timeouts and server/network errors. Verification blocks are reported without retries.",
            "default": 1
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}