Google Map API endpoint

Google Maps search API

Returns results from Google Maps based on search options. Rate limit is enforced at 1 request per second.

POSTapiKey5 credits/requestgoogle.MapSearchOptiongoogle.mapSearchResponseDoc/google/map/search

Parameters

NameInTypeRequiredEnumExampleDescription
mapSearchOptionbodyobjectYesSearch options
x-api-keyheaderstringYesAPI key required

Authentication

Send your scraping API key in the x-api-key header. Use the console API Keys page to rotate or select the active key.

Billing

Endpoint usage is metered in credits. The plan prices, included credits, limits, and overage rates below match the active backend billing configuration.

Credit cost
5 credits/request
Charged response
Successful 2xx responses
PlanPriceIncluded creditsDaily capRate limitOverage
Free$0/mo2,000500 daily credits5/minNo overage
Starter$9/mo20,0005,000 daily credits15/min$0.75/1,000 overage credits when enabled
Growth$29/mo100,00025,000 daily credits45/min$0.45/1,000 overage credits when enabled
Pro$79/mo400,000No daily cap120/min$0.30/1,000 overage credits
Business$199/mo1,200,000No daily cap300/min$0.20/1,000 overage credits
Enterprise$499/mo5,000,000No daily cap1,000/min$0.12/1,000 overage credits

Failure responses

StatusDescriptionSchema
400Invalid input#/definitions/app.Response
429Rate limit exceeded#/definitions/app.Response
500Internal server error#/definitions/app.Response

Request body example

{
  "country": "us",
  "keyword": "hotel san francisco",
  "language": "en"
}

Example response

{
  "code": 200,
  "msg": "OK",
  "data": [
    {
      "url": "https://www.google.com/maps/place/?q=place_id:ChIJs3cv0KuvEmsRHcXYwNJ6GU0",
      "name": "Primi Italian",
      "place_id": "ChIJs3cv0KuvEmsRHcXYwNJ6GU0",
      "category": [
        "italian_restaurant"
      ],
      "address": "168 Clarence St, Sydney NSW 2000, Australia",
      "latitude": -33.8701437,
      "longitude": 151.2056158
    }
  ]
}

Request schema

#/definitions/google.MapSearchOption

FieldTypeRequiredEnumBoundsExampleDescription
countrystringNous
keywordstringNohotel san francisco
languagestringNoen

Response schema

#/definitions/google.mapSearchResponseDoc

FieldTypeRequiredEnumBoundsExampleDescription
codeintegerNo200
dataarrayNo
data[].addressstringNo250 Beach St, San Francisco, CA 94133
data[].amenitiesarrayNo['Free Wi-Fi', 'Air-conditioned', 'Wi-Fi', 'Parking']
data[].categoryarrayNo['hotel']
data[].descriptionstringNoA 3-minute walk from Pier 41 in the Fisherman's Wharf district...
data[].imagestringNohttps://lh5.googleusercontent.com/p/AF1QipP_O55x7gOwR3AaM09CVmzEUude9wMHMPwc--yp
data[].latitudenumberNo37.8077617
data[].locationsarrayNo['San Francisco', 'Los Angeles']
data[].longitudenumberNo-122.4132228
data[].namestringNoHotel Zephyr San Francisco
data[].phonestringNo14156176565
data[].place_idstringNoChIJ99URUeOAhYAR0J5ZUxTesDQ
data[].ratingnumberNo4.1
data[].review_countintegerNo3213
data[].urlstringNohttps://www.google.com/maps/place/?q=place_id:ChIJ99URUeOAhYAR0J5ZUxTesDQ
data[].websitestringNohttps://www.hotelzephyrsf.com/
msgstringNoOK

Example request

curl -X POST "https://api.crawlora.net/api/v1/google/map/search" -H "x-api-key: <api-key>" -H "Content-Type: application/json" -d '{"country":"us","keyword":"hotel san francisco","language":"en"}'

TypeScript fetch

const url = new URL("https://api.crawlora.net/api/v1/google/map/search");
const headers = new Headers();
headers.set("x-api-key", "<api-key>");
headers.set("Content-Type", "application/json");
const response = await fetch(url, {
  method: "POST",
  headers,
  body: JSON.stringify({
    "country": "us",
    "keyword": "hotel san francisco",
    "language": "en"
  }),
});
const payload = await response.json();