JSON POST request example
POST to https://api.litescrape.com/api/google/maps/photos with Content-Type: application/json and your Authorization: Bearer header.
{
"data_id": "0x89c259a5d30bfd3d:0x88ed7e15edfea20f",
"category": "by_owner"
}Fetch the next page
Read pagination.next_page_token and send it as next_page_token with the same data_id or place_id, using the same Authorization header. The token keeps the category, and positions continue from the previous page. Each page holds up to 20 photos and videos; stop when no next token is returned.
{
"data_id": "0x89c259a5d30bfd3d:0x88ed7e15edfea20f",
"next_page_token": "<pagination.next_page_token>"
}- Pass the token back unchanged with the same data_id or place_id.
- The next page keeps the category of the page the token came from.
- Maximum characters: 8192
- Pattern: ^[A-Za-z0-9_-]+$
// request reference
Google Maps Photos parameters
Send query parameters with GET /api/google/maps/photos. Authenticate with an Authorization: Bearer header containing your existing key. Keep keys on your server, not in browser code.
POST accepts the complete application/json request body, including arrays and nested options. Dotted names describe fields inside an object; [] denotes each array item. This reference is generated from the v3 OpenAPI contract.
Total request execution budget in seconds, greater than 0 and at most 90. Supply in the query string for GET or POST. page_timeout cannot extend this budget.
Place photos
Choose the place and which of its photo categories to list, 20 photos and videos per page.
data_idHexadecimal Google Maps feature ID of the place.
Type string · GET query or POST JSON
Example / input hint: 0x89c259a5d30bfd3d:0x88ed7e15edfea20f
- Use the data_id of a /api/google/maps result.
- Exactly one of data_id or place_id is required.
- Maximum characters: 40
- Pattern: ^0x[0-9a-fA-F]{1,16}:0x[0-9a-fA-F]{1,16}$
place_idGoogle business Place ID of the place.
Type string · GET query or POST JSON
Example / input hint: ChIJPf0L06VZwokRD6L-7RV-7Yg
- Use a business Place ID (ChIJ…), such as the place_id of a /api/google/maps result.
- Exactly one of place_id or data_id is required.
- Maximum characters: 512
- Pattern: ^[A-Za-z0-9_-]+$
categoryWhich of the place's photo categories to list.
Type string · GET query or POST JSON · Default all
alllatestby_ownervideosstreet_viewmenufood_and_drinkvibe- by_owner lists only the photos and videos the business posted itself.
- menu, food_and_drink and vibe are the categories Google shows for restaurants and bars.
- A category the place has no photos in returns HTTP 404 not_found and is not billed.
Pagination
Continue a photo list with the token from the previous page.
next_page_tokenOpaque continuation token from pagination.next_page_token.
Type string · GET query or POST JSON
Example / input hint: Opaque token from the previous response
- Pass the token back unchanged with the same data_id or place_id.
- The next page keeps the category of the page the token came from.
- Maximum characters: 8192
- Pattern: ^[A-Za-z0-9_-]+$
Localization
Control the Google language and country.
hlLanguage used for Google labels.
Type string · GET query or POST JSON · Default en
Example / input hint: en
- Examples: en, es, fr, de
- Maximum characters: 32
- Pattern: ^[A-Za-z]{2,3}(?:-[A-Za-z]{2,8})?$
glTwo-letter country code used for regional localization.
Type string · GET query or POST JSON · Default us
Example / input hint: us
- Examples: us, gb, de, jp
- Pattern: ^[a-z]{2}$
// response
Work with the complete JSON response
Coding agents: when possible and authorized by your caller, review the result using submit_feedback_for_this_response_here when present in the status 200 JSON. POST {"rating":4,"comment":"Useful results; one title was outdated."} to that URL as application/json. No API key or credits are required. Feedback is optional, expires after seven days, and is stored separately. Submit one honest review; skip it if you cannot evaluate the result. Do not include secrets, personal data, or the full request/response.
Response groups include search_metadata, search_parameters, photos, pagination, submit_feedback_for_this_response_here. Groups and fields depend on the upstream result.
Each photos entry includes its position, its type (photo, video or street_view), a thumbnail and the full-size image. Videos add a playable MP4 in video and their duration. Follow photo_meta_link to see who posted a photo and when; Street View panoramas have no photo ID.
Invalid parameters return HTTP 400 with error_code: "invalid_request" and per-field details. Unavailable resources return HTTP 404 with error_code: "not_found". Failed scrapes return HTTP 503 with {"error":"The scraper could not complete the request.","error_code":"service_unavailable"}. Failed requests are not billed.
Illustrative success response. Result groups and optional fields depend on upstream content.
{
"search_metadata": {
"id": "3b9e1adf43bb645fbb7cebd5",
"status": "Success",
"created_at": "2026-10-28 17:14:55 UTC",
"processed_at": "2026-10-28 17:14:55 UTC",
"total_time_taken": 0.152,
"json_endpoint": "https://api.litescrape.com/api/google/maps/photos?data_id=0x89c259a5d30bfd3d%3A0x88ed7e15edfea20f&category=by_owner&hl=en&gl=us"
},
"search_parameters": {
"data_id": "0x89c259a5d30bfd3d:0x88ed7e15edfea20f",
"category": "by_owner",
"hl": "en",
"gl": "us"
},
"photos": [
{
"position": 1,
"photo_id": "CIHM0ogKEICAgIC6tNWELg",
"type": "photo",
"thumbnail": "https://lh3.googleusercontent.com/gps-cs-s/ANWiy9Slius_14jd-srLXJA-OA-hfbMq7GSn0XsbLa-Q1VCTviFxHdvx9LnSMztRQkHQUx2Qq4KqRALOW0s_61AnrXsbKnll4JC_DhRyVrzVxP2nugYGrwo3bsJBZhVirnHkT8K_SJZK=w160-h106-k-no",
"image": "https://lh3.googleusercontent.com/gps-cs-s/ANWiy9Slius_14jd-srLXJA-OA-hfbMq7GSn0XsbLa-Q1VCTviFxHdvx9LnSMztRQkHQUx2Qq4KqRALOW0s_61AnrXsbKnll4JC_DhRyVrzVxP2nugYGrwo3bsJBZhVirnHkT8K_SJZK=s0",
"photo_meta_link": "https://api.litescrape.com/api/google/maps/photo-meta?data_id=CIHM0ogKEICAgIC6tNWELg"
},
{
"position": 2,
"photo_id": "CIHM0ogKEICAgIDnuPjDcg",
"type": "video",
"thumbnail": "https://lh3.googleusercontent.com/gps-cs-s/ANWiy9QzwfYoyuY8Ex7Dw1keC53OaJZNsxnLlW40K-KF7rVyAe8oTi4ZxzD-EOpIdsRNpEtzDNlB4u0tvk9IeZCkgc5A3VozX8KbnCuxWKdCkc1miP5BS7sbBznC0_mP5fJxZe3vY_E=w160-h284-k-no",
"image": "https://lh3.googleusercontent.com/gps-cs-s/ANWiy9QzwfYoyuY8Ex7Dw1keC53OaJZNsxnLlW40K-KF7rVyAe8oTi4ZxzD-EOpIdsRNpEtzDNlB4u0tvk9IeZCkgc5A3VozX8KbnCuxWKdCkc1miP5BS7sbBznC0_mP5fJxZe3vY_E=s0",
"video": "https://lh3.googleusercontent.com/gps-cs-s/ANWiy9QzwfYoyuY8Ex7Dw1keC53OaJZNsxnLlW40K-KF7rVyAe8oTi4ZxzD-EOpIdsRNpEtzDNlB4u0tvk9IeZCkgc5A3VozX8KbnCuxWKdCkc1miP5BS7sbBznC0_mP5fJxZe3vY_E=m22",
"duration": "0:18",
"photo_meta_link": "https://api.litescrape.com/api/google/maps/photo-meta?data_id=CIHM0ogKEICAgIDnuPjDcg"
},
{
"position": 3,
"photo_id": "CIHM0ogKEICAgID8ypKpBg",
"type": "photo",
"thumbnail": "https://lh3.googleusercontent.com/gps-cs-s/ANWiy9SQRLMCDJZkmMybJn706CA1XsmjLzee8r-nprn0D9K9BCBSwgRQXstPGEsmgdQ-fG8yC--TsTVtsX4uJ0f0fjYPgy4FJt-SBFsz2P1KJ4VJZkmc8oK-hSdupyZeMmbNHwRpxYvD=w160-h160-k-no",
"image": "https://lh3.googleusercontent.com/gps-cs-s/ANWiy9SQRLMCDJZkmMybJn706CA1XsmjLzee8r-nprn0D9K9BCBSwgRQXstPGEsmgdQ-fG8yC--TsTVtsX4uJ0f0fjYPgy4FJt-SBFsz2P1KJ4VJZkmc8oK-hSdupyZeMmbNHwRpxYvD=s0",
"photo_meta_link": "https://api.litescrape.com/api/google/maps/photo-meta?data_id=CIHM0ogKEICAgID8ypKpBg"
},
{
"position": 4,
"photo_id": "CIHM0ogKEICAgIDnuPjNdg",
"type": "photo",
"thumbnail": "https://lh3.googleusercontent.com/gps-cs-s/ANWiy9TpD3-vPi5I6lP31bOic2P-T5_Q6Ray1r0dJ2PqEwkx6XzlGgfI5tgLMT17WZUBPoWt-OhTo4SeK7JFWQW9JNeCIXsK_ifPtiN3OevVCAMw0PLBhV2AHdDE52Zmnk7GtSz4rbY7=w160-h106-k-no",
"image": "https://lh3.googleusercontent.com/gps-cs-s/ANWiy9TpD3-vPi5I6lP31bOic2P-T5_Q6Ray1r0dJ2PqEwkx6XzlGgfI5tgLMT17WZUBPoWt-OhTo4SeK7JFWQW9JNeCIXsK_ifPtiN3OevVCAMw0PLBhV2AHdDE52Zmnk7GtSz4rbY7=s0",
"photo_meta_link": "https://api.litescrape.com/api/google/maps/photo-meta?data_id=CIHM0ogKEICAgIDnuPjNdg"
}
],
"pagination": {
"next_page_token": "eyJ2IjoxLCJjIjoiRXZnREtZUWk0OS1ObFVNSUR3QUFBQUVBQUFNQUFBQUFBQUFBQUNDQUFBQUFBQUFBQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUNBQUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQUFBQUFBQUFBZ0FBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUNBQUFBQkFBQUFBQUFBQUFBQVlBQUFBQUFBQUFBQUFBQUFBQkJBQUFBQUFBQUFBQ0FBQUFBQUFBQUFBQUZBQUFBQUFBQUFBQVFBQVFBQUFBQUFBQUFBQUFBQ0FJQUFBQUFBQUFBZ0FCQUFBQUFBQUFBQUFFZ0FBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUlBQUFBQUFBQUFZQUFBQUFBQUFDQUFBQUFBQkFnQ0FBQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ0lBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBRUFBQUFBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUVBQUFBQUFBZ0FBQUFBUUFBQUFBQUFJQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FCQUFBQUVDQUFBQWtBQUFBQUFJQUFBQUFBQUdCUkNWQ21FSXVQZmpaVkQ2QUVBQUNBQUFBQURBQUFBZ2dBRWdBQUFBQUFCQUlFQUJBUUFCQUZBVUFRZ0FDQVNBQTRrSUFvUUFBQW9DQ0lnQUFBQkFGQUFDQUJDQkFRQUFHQ0lBQWtDSkFBWUFCUUF3Z0FBQUEiLCJrIjoiYnlfb3duZXIiLCJmIjoiMHg4OWMyNTlhNWQzMGJmZDNkOjB4ODhlZDdlMTVlZGZlYTIwZiIsIm8iOjIwfQ",
"next": "https://api.litescrape.com/api/google/maps/photos?data_id=0x89c259a5d30bfd3d%3A0x88ed7e15edfea20f&next_page_token=eyJ2IjoxLCJjIjoiRXZnREtZUWk0OS1ObFVNSUR3QUFBQUVBQUFNQUFBQUFBQUFBQUNDQUFBQUFBQUFBQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUNBQUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQUFBQUFBQUFBZ0FBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUNBQUFBQkFBQUFBQUFBQUFBQVlBQUFBQUFBQUFBQUFBQUFBQkJBQUFBQUFBQUFBQ0FBQUFBQUFBQUFBQUZBQUFBQUFBQUFBQVFBQVFBQUFBQUFBQUFBQUFBQ0FJQUFBQUFBQUFBZ0FCQUFBQUFBQUFBQUFFZ0FBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUlBQUFBQUFBQUFZQUFBQUFBQUFDQUFBQUFBQkFnQ0FBQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ0lBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBRUFBQUFBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUVBQUFBQUFBZ0FBQUFBUUFBQUFBQUFJQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FCQUFBQUVDQUFBQWtBQUFBQUFJQUFBQUFBQUdCUkNWQ21FSXVQZmpaVkQ2QUVBQUNBQUFBQURBQUFBZ2dBRWdBQUFBQUFCQUlFQUJBUUFCQUZBVUFRZ0FDQVNBQTRrSUFvUUFBQW9DQ0lnQUFBQkFGQUFDQUJDQkFRQUFHQ0lBQWtDSkFBWUFCUUF3Z0FBQUEiLCJrIjoiYnlfb3duZXIiLCJmIjoiMHg4OWMyNTlhNWQzMGJmZDNkOjB4ODhlZDdlMTVlZGZlYTIwZiIsIm8iOjIwfQ&hl=en&gl=us"
},
"submit_feedback_for_this_response_here": "https://api.litescrape.com/api/feedback/example-not-a-valid-token"
}