{
  "openapi": "3.0.1",
  "info": {
    "title": "Local Business Data API",
    "description": "Fast and reliable local business data API - get comprehensive business information including address, website, phone, email, rating & reviews, and 40+ data points from Google Maps in real-time.",
    "version": "1.0",
    "x-build-id": "9amAGb6cDo51nGMOo"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/openweb-ninja~local-business-data/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-openweb-ninja-local-business-data",
        "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/openweb-ninja~local-business-data/runs": {
      "post": {
        "operationId": "runs-sync-openweb-ninja-local-business-data",
        "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/openweb-ninja~local-business-data/run-sync": {
      "post": {
        "operationId": "run-sync-openweb-ninja-local-business-data",
        "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": [
          "endpoint"
        ],
        "properties": {
          "endpoint": {
            "title": "Endpoint",
            "enum": [
              "/search",
              "POST /search",
              "/search-in-area",
              "/area-search-by-bounding-box",
              "/area-search-by-radius",
              "/search-nearby",
              "/business-details",
              "/business-details-plus",
              "/business-reviews-v2",
              "/review-details",
              "/business-photos",
              "/photo-details",
              "/business-posts",
              "/reverse-geocoding",
              "/autocomplete"
            ],
            "type": "string",
            "description": "Which endpoint of the API to call. Each endpoint uses the parameters listed in its section below; parameters of other endpoints are ignored.",
            "default": "/search"
          },
          "query": {
            "title": "Query",
            "type": "string",
            "description": "Search query / keyword<br>   <strong>Examples:</strong><br>  <code>Plumbers near New-York, USA</code><br>  <code>Bars in 94102, USA</code><br><br><em>Used by: Search, Area Search (Zoom Level), Area Search (Bounding Box), Area Search (Radius), Search Nearby, Business Reviews, Autocomplete. Required for Search, Area Search (Zoom Level), Area Search (Bounding Box), Area Search (Radius), Search Nearby, Autocomplete.</em>",
            "default": "Hotels in San Francisco, USA"
          },
          "limit": {
            "title": "Limit",
            "type": "integer",
            "description": "Maximum number of businesses to return.<br>   <strong>Allowed values:</strong> <code>1-500</code><br><br><em>Used by: Search, Bulk Search, Area Search (Zoom Level), Area Search (Bounding Box), Area Search (Radius), Search Nearby, Business Reviews, Business Photos.</em>"
          },
          "lat": {
            "title": "Lat",
            "type": "string",
            "description": "Latitude of the coordinates point from which the query is applied - recommended to use so that results are biased towards this location.<br>  Defaults to some central location in the region (see the region parameter).<br><br><em>Used by: Search, Area Search (Zoom Level), Area Search (Radius), Search Nearby, Reverse Geocoding. Required for Area Search (Zoom Level), Area Search (Radius), Search Nearby, Reverse Geocoding.</em>"
          },
          "lng": {
            "title": "Lng",
            "type": "string",
            "description": "Longitude of the coordinates point from which the query is applied - recommended to use so that results are biased towards this location.<br>  Defaults to some central location in the region (see the region parameter).<br><br><em>Used by: Search, Area Search (Zoom Level), Area Search (Radius), Search Nearby, Reverse Geocoding. Required for Area Search (Zoom Level), Area Search (Radius), Search Nearby, Reverse Geocoding.</em>"
          },
          "zoom": {
            "title": "Zoom",
            "type": "string",
            "description": "Zoom level on which to make the search (the viewport is determined by lat, lng and zoom).<br><br><em>Used by: Search, Bulk Search, Area Search (Zoom Level). Required for Area Search (Zoom Level).</em>"
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Set the language of the results. For a list of supported language codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes*.<br><br><em>Used by: Search, Bulk Search, Area Search (Zoom Level), Area Search (Bounding Box), Area Search (Radius), Search Nearby, Business Details, Business Details Plus, Business Reviews, Business Review Details, Business Posts, Reverse Geocoding, Autocomplete.</em>"
          },
          "region": {
            "title": "Region",
            "type": "string",
            "description": "Query Google Maps from a particular region or country.<br>  For a list of supported region/country codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (Alpha-2 code)*.<br><br><em>Used by: Search, Bulk Search, Area Search (Zoom Level), Area Search (Bounding Box), Area Search (Radius), Search Nearby, Business Details, Business Details Plus, Business Reviews, Business Review Details, Business Photos, Business Posts, Reverse Geocoding, Autocomplete.</em>"
          },
          "subtypes": {
            "title": "Subtypes",
            "type": "string",
            "description": "Find businesses with specific subtypes, specified as a comma separated list of types (business categories).<br>  For the complete list of types, see *https://daltonluka.com/blog/google-my-business-categories*.<br><br>  <strong>Examples:</strong><br>  <code>Plumber,Carpenter,Electrician</code><br>  <code>Night club,Dance club,Bar,Pub</code><br><br><em>Used by: Search, Area Search (Zoom Level), Area Search (Bounding Box), Area Search (Radius), Search Nearby.</em>"
          },
          "verified": {
            "title": "Verified",
            "type": "boolean",
            "description": "Only return verified businesses<br><br><em>Used by: Search.</em>"
          },
          "business_status": {
            "title": "Business status",
            "type": "string",
            "description": "Find businesses with specific status, specified as a comma separated list of the following values:<br>  <code>OPEN, CLOSED_TEMPORARILY, CLOSED</code><br><br>  <strong>Examples:</strong><br>  <code>OPEN</code><br>  <code>CLOSED_TEMPORARILY,CLOSED</code><br><br><em>Used by: Search.</em>"
          },
          "extract_emails_and_contacts": {
            "title": "Extract emails and contacts",
            "type": "boolean",
            "description": "Extract emails, contacts and social profiles for each business in the response.<br>  In case true, businesses will be enriched with a emails_and_contacts field with emails, phones, Facebook, LinkedIn, Instagram and other social profiles.<br><br>  <strong>Note:</strong> in case <code>true</code>, the endpoint will scrape emails and contacts from the business website (in case non-empty).<br>    For each such business, the API will charge an additional credit.<br><br><em>Used by: Search, Area Search (Zoom Level), Area Search (Bounding Box), Area Search (Radius), Search Nearby, Business Details, Business Details Plus.</em>",
            "default": false
          },
          "fields": {
            "title": "Fields",
            "type": "string",
            "description": "A comma separated list of business fields to include in the response (field projection).<br>  By default all fields are returned.<br><br><em>Used by: Search, Area Search (Zoom Level), Area Search (Bounding Box), Area Search (Radius), Search Nearby, Business Details, Business Details Plus, Business Reviews, Business Photos, Reverse Geocoding.</em>"
          },
          "queries": {
            "title": "Queries",
            "type": "array",
            "description": "List of search queries to run in a single request (each treated like a normal Search query). Up to 20 queries per request.<br><br><em>Used by: Bulk Search. Required for Bulk Search.</em>",
            "items": {
              "type": "string"
            }
          },
          "coordinates": {
            "title": "Coordinates",
            "type": "string",
            "description": "Bias the search toward a specific location, as a \"lat,lng\" string.<br><br><em>Used by: Bulk Search, Business Details, Business Details Plus, Autocomplete.</em>"
          },
          "offset": {
            "title": "Offset",
            "type": "integer",
            "description": "Number of businesses to skip per query, for pagination. Allowed values: 0-500.<br><br><em>Used by: Bulk Search.</em>"
          },
          "dedup": {
            "title": "Dedup",
            "type": "boolean",
            "description": "If true, deduplicate overlapping businesses across queries.<br><br><em>Used by: Bulk Search.</em>",
            "default": true
          },
          "bottom_left": {
            "title": "Bottom left",
            "type": "string",
            "description": "The bottom-left (south-west) corner of the bounding box to search in, as a \"lat,lng\" string.<br><br><em>Used by: Area Search (Bounding Box). Required for Area Search (Bounding Box).</em>"
          },
          "top_right": {
            "title": "Top right",
            "type": "string",
            "description": "The top-right (north-east) corner of the bounding box to search in, as a \"lat,lng\" string.<br><br><em>Used by: Area Search (Bounding Box). Required for Area Search (Bounding Box).</em>"
          },
          "radius": {
            "title": "Radius",
            "type": "string",
            "description": "The radius (in meters) of the circular search area around the center coordinate point (lat, lng). Allowed values: 1-50000.<br><br><em>Used by: Area Search (Radius). Required for Area Search (Radius).</em>"
          },
          "business_id": {
            "title": "Business id",
            "type": "string",
            "description": "Unique Business Id. Accepts <code>google_id</code> / <code>business_id</code> or <code>place_id</code>.<br>   <strong>Examples:</strong><br>  <code>0x880fd393d427a591:0x8cba02d713a995ed</code><br>  <code>ChIJkaUn1JPTD4gR7ZWpE9cCuow</code><br><br>  In addition, batching of up to 20 Business Ids is supported in a single request using a comma separated list *(e.g. business_id=id1,id2)*.<br><br><em>Used by: Business Details, Business Details Plus, Business Reviews, Business Review Details, Business Photos, Business Photo Details, Business Posts. Required for Business Details, Business Details Plus, Business Reviews, Business Review Details, Business Photos, Business Photo Details, Business Posts.</em>"
          },
          "extract_share_link": {
            "title": "Extract share link",
            "type": "boolean",
            "description": "Whether to extract place's share link for the business.<br>  In case true, businesses will be enriched with a share_link field containing a shortened Google URL for sharing *(e.g. https://goo.gl/maps/oxndE8SVaNU5CV6p6)*.<br><br><em>Used by: Business Details, Business Details Plus.</em>",
            "default": false
          },
          "cursor": {
            "title": "Cursor",
            "type": "string",
            "description": "Pagination cursor for fetching the next page of reviews. Pass the <code>cursor</code> value returned in the previous response's <code>data.cursor</code>. Omit on the first request to start from the most relevant reviews.<br><br><em>Used by: Business Reviews, Business Photos, Business Posts.</em>"
          },
          "translate_reviews": {
            "title": "Translate reviews",
            "type": "boolean",
            "description": "Whether to translate reviews to the language specified as the language parameter (defaults to false).<br><br><em>Used by: Business Reviews.</em>"
          },
          "sort_by": {
            "title": "Sort by",
            "enum": [
              "most_relevant",
              "newest",
              "highest_ranking",
              "lowest_ranking"
            ],
            "type": "string",
            "description": "How to sort the reviews in the results.<br><br><em>Used by: Business Reviews.</em>",
            "default": "most_relevant"
          },
          "review_author_id": {
            "title": "Review author id",
            "type": "string",
            "description": "Review author id (i.e review <code>author_id</code> field).<br>  In addition, batching of up to 20 Review Author Ids is supported in a single request using a comma separated list *(e.g.review_author_id=id1,id2)*.<br><br><em>Used by: Business Review Details. Required for Business Review Details.</em>"
          },
          "is_video": {
            "title": "Is video",
            "type": "boolean",
            "description": "Only return video type media (type=video) or not.<br><br><em>Used by: Business Photos.</em>",
            "default": false
          },
          "photo_id": {
            "title": "Photo id",
            "type": "string",
            "description": "Photo Id of the photo to fetch.<br> In addition, batching of up to 20 Photo Ids is supported in a single request using a comma separated list *(e.g. photo_id=id1,id2)*.<br><br><em>Used by: Business Photo Details. Required for Business Photo Details.</em>"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}