// overview
Public endpoints
All APIs accept GET query parameters and return JSON. Send the anonymous key generated on the homepage as an Authorization: Bearer header. The homepage issues one free visitor key per browser.
Google Search API
https://api.litescrape.com/api/google/searchRun Google Search and independently parse organic results and an optional Knowledge Graph panel.
Google AI Overview API
https://api.litescrape.com/api/google/ai-overviewReturn Google’s generated Search overview, or 404 without consuming a call when none is available.
Google Maps API
https://api.litescrape.com/api/google/mapsSearch places and resolve exact listings.
Google Reviews API
https://api.litescrape.com/api/google/reviewsFetch, sort, filter, and paginate Google Maps reviews.
Google AI Mode API
https://api.litescrape.com/api/google/ai-modeReturn Google’s own generated AI Mode answer with the sources it cited.
Google Shopping API
https://api.litescrape.com/api/google/shoppingSearch products with prices, sellers, ratings, and Google’s own refinements.
Google Shopping Product API
https://api.litescrape.com/api/google/shopping/productOpen one product from a Shopping result: every merchant offer, its specifications, reviews, and related products.
Google Contributor Reviews API
https://api.litescrape.com/api/google/contributor-reviewsFetch up to 200 reviews from one Google Maps contributor profile. Results use contributor, search_information, and reviews.
Bing Search API
https://api.litescrape.com/api/bing/searchParse Bing SERP groups, primary and repeated knowledge cards, and pagination.
Bing Maps API
https://api.litescrape.com/api/bing/mapsSearch Bing Maps listings or resolve one native Bing Maps entity ID. Results use local_results or place_results.
DuckDuckGo Search API
https://api.litescrape.com/api/duckduckgo/searchSearch DuckDuckGo with region, safety, date, and pagination controls. Results use organic_results.
DuckDuckGo Maps API
https://api.litescrape.com/api/duckduckgo/mapsSearch DuckDuckGo Maps within a map viewport. Results use local_results.
Yelp Search API
https://api.litescrape.com/api/yelp/searchSearch Yelp by location, category, map area, sort, and pagination. Results use organic_results.
Yelp Reviews API
https://api.litescrape.com/api/yelp/reviewsFetch Yelp reviews with language, rating, sort, and pagination controls. Results use reviews.
Tripadvisor Search API
https://api.litescrape.com/api/tripadvisor/searchSearch Tripadvisor by text, location, coordinates, and place type. Results use search_results.
Tripadvisor Place API
https://api.litescrape.com/api/tripadvisor/placeResolve one Tripadvisor place. Results use place_results.
Tripadvisor Reviews API
https://api.litescrape.com/api/tripadvisor/reviewsFetch Tripadvisor reviews. Results use reviews.
Apple Maps Places API
https://api.litescrape.com/api/apple/maps/placesResolve up to 50 Apple Maps places by MUID with source-provided details.
Apple Maps Reviews API
https://api.litescrape.com/api/apple/maps/reviewsReturn ratings and written reviews attributed to Apple. Results use rating_summary, ratings, and reviews.
Google Maps Live Foot Traffic API
https://api.litescrape.com/api/google/maps/popular-timesFetch an uncached current-versus-usual busyness reading for one Google Place ID.
Google Maps Posts API
https://api.litescrape.com/api/google/maps/postsFetch posts for one Maps feature ID.
Google Maps Photo Metadata API
https://api.litescrape.com/api/google/maps/photo-metaResolve contributor, place, coordinates, type, and photo date.
Google Play Apps APIAlpha
https://api.litescrape.com/api/google/play/appsSearch and browse Android apps, categories, device storefronts, and charts.
Google Play Games APIAlpha
https://api.litescrape.com/api/google/play/gamesBrowse games, categories, device storefronts, and charts, or query the shared Android app search.
Google Play Books APIAlpha
https://api.litescrape.com/api/google/play/booksSearch and browse ebooks, audiobooks, series, categories, and charts.
Google Play Movies APIAlpha
https://api.litescrape.com/api/google/play/moviesSearch and browse movies, TV shows, episodes, categories, and charts.
Google Play Product APIAlpha
https://api.litescrape.com/api/google/play/productRead app, ebook, audiobook, movie, or TV product details.
Google Play Reviews APIAlpha
https://api.litescrape.com/api/google/play/reviewsFilter and paginate product reviews, including available developer replies.
Apple App Store Search APIAlpha
https://api.litescrape.com/api/apple/app-store/searchSearch iPhone, iPad, and Mac apps or developers by storefront.
Apple App Store Product APIAlpha
https://api.litescrape.com/api/apple/app-store/productRead app details, version history, screenshots, ratings, privacy disclosures, and related apps.
Apple App Store Reviews APIAlpha
https://api.litescrape.com/api/apple/app-store/reviewsRead storefront-specific app reviews. iOS pages contain up to 25 reviews; Mac pages contain up to 10 and use Apple’s newest-first ordering.
Google Ads APIAlpha
https://api.litescrape.com/api/google/adsReturn paid search ads, local ads, shopping ads, and the rest of the Google results page.
Google Local APIAlpha
https://api.litescrape.com/api/google/localSearch local businesses and target local CIDs.
// api key status
Check your balance and concurrency
GET /api/keys/status returns the calls remaining on your key and its configured concurrency limit. Send your key in the Authorization: Bearer header; no query parameters or request body are required. Checking status does not consume a call and works at zero balance.
Set LITESCRAPE_API_KEY to your existing key, then run:
curl 'https://api.litescrape.com/api/keys/status' \
--header "Authorization: Bearer $LITESCRAPE_API_KEY"{
"remaining_calls": 10000,
"concurrency_limit": 25,
"status": "active"
}remaining_calls: calls currently available to spend.concurrency_limit: configured simultaneous requests across endpoints sharing this key, 25 by default. Use this value to size your client concurrency; it is not a count of active requests or free slots.status:activefor a usable key.
The full response also includes pricing and credit-expiry information. Missing or malformed bearer headers return 401 missing_api_key; invalid keys return 401 invalid_api_key; disabled keys return 403 api_key_disabled.
// python quickstart
Make your first request
Install the SDK with pip install litescrape-sdk, then set LITESCRAPE_API_KEY to the live key from the homepage. The SDK reads that variable, retries transient errors, and runs at your key's concurrency limit.
Search Google
import os
from litescrape_sdk import GoogleSearch, scrape
[search] = scrape(
[GoogleSearch(q="coffee shops in Austin", hl="en", gl="us", device="desktop")],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
results = search.raise_for_error()
for item in results.get("organic_results", []):
print(item["position"], item["title"], item["link"])
if knowledge := results.get("knowledge_graph"):
print(knowledge.get("title"), knowledge.get("description"))Get a Google AI Overview
import os
from litescrape_sdk import GoogleAiOverview, scrape
[answer] = scrape(
[GoogleAiOverview(q="what is a heat pump", hl="en", gl="us")],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
overview = answer.raise_for_error()["ai_overview"]
for block in overview.get("text_blocks", []):
print(block.get("snippet", ""))Find Google Ads
import os
from litescrape_sdk import GoogleAds, scrape
[page] = scrape(
[
GoogleAds(
q="coffee maker",
location="Austin, Texas, United States",
hl="en",
device="desktop",
)
],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
payload = page.raise_for_error()
for ad in payload.get("ads", []):
print(ad.get("position"), ad.get("title"), ad.get("link"))
for ad in payload.get("local_ads", []):
print(ad.get("position"), ad.get("title"), ad.get("address"))
for product in payload.get("shopping_results", []):
print(product.get("position"), product.get("title"), product.get("price"))Search Google Local
import os
from litescrape_sdk import GoogleLocal, scrape
[search] = scrape(
[GoogleLocal(q="coffee shops", location="Austin, Texas", hl="en", gl="us", device="desktop")],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
for place in search.raise_for_error().get("local_results", []):
print(place.get("title"), place.get("rating"), place.get("address"))Search Google Shopping
import os
from litescrape_sdk import GoogleShopping, scrape
[page] = scrape(
[
GoogleShopping(
q="coffee maker",
hl="en",
gl="us",
min_price=50,
max_price=100,
sort_by=1,
)
],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
for product in page.raise_for_error().get("shopping_results", []):
print(product["position"], product["title"], product.get("price"))
Ask Google AI Mode
import os
from litescrape_sdk import GoogleAiMode, scrape
[answer] = scrape(
[GoogleAiMode(q="what is the best espresso machine for a small kitchen", hl="en", gl="us")],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
payload = answer.raise_for_error()
for block in payload.get("text_blocks", []):
if block["type"] == "list":
for item in block["list"]:
print("-", item.get("title", ""), item.get("snippet", ""))
else:
print(block["snippet"])
for reference in payload.get("references", []):
print(reference["index"], reference["source"], reference["link"])
Open a Shopping product
import os
from litescrape_sdk import GoogleShopping, GoogleShoppingProduct, scrape
api_key = os.environ["LITESCRAPE_API_KEY"]
# Phase one: every shopping result carries the identifiers that open it.
[search] = scrape([GoogleShopping(q="coffee maker", hl="en", gl="us")], api_key=api_key)
first = search.raise_for_error()["shopping_results"][0]
# Phase two: open that product's own page.
[product] = scrape(
[
GoogleShoppingProduct(
q="coffee maker",
gpcid=first["gpcid"],
headline_offer_docid=first["headline_offer_docid"],
image_docid=first["image_docid"],
hl="en",
gl="us",
)
],
api_key=api_key,
)
payload = product.raise_for_error()
print(payload["product_result"]["title"])
for offer in payload.get("offers", []):
print(offer["position"], offer["merchant"], offer.get("price"), offer.get("delivery"))
Search Bing
import os
from litescrape_sdk import BingSearch, scrape
[search] = scrape(
[BingSearch(q="pizza shops in New York", mkt="en-US", safeSearch="moderate", device="desktop")],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
results = search.raise_for_error()
for result in results.get("organic_results", []):
print(result["position"], result["title"], result["link"])
if knowledge := results.get("knowledge_graph"):
print(knowledge.get("title"), knowledge.get("description"))Search Google Maps
import os
from litescrape_sdk import GoogleMaps, scrape
[search] = scrape(
[
GoogleMaps(
q="coffee shops in Austin, TX",
type="search",
ll="@30.2672,-97.7431,14z",
hl="en",
gl="us",
)
],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
places = search.raise_for_error()
for place in places.get("local_results", []):
print(place["title"], place.get("rating"))Fetch Apple Maps places
import os
from litescrape_sdk import AppleMapsPlaces, scrape
[lookup] = scrape(
[AppleMapsPlaces(muid="4372355869446211302", locale="en-US")],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
for place in lookup.raise_for_error().get("place_results", []):
print(place["title"], place.get("rating"), place.get("address"))Fetch Apple-only ratings and reviews
import os
from litescrape_sdk import AppleMapsReviews, scrape
[page] = scrape(
[AppleMapsReviews(muid="4560078147072908047", locale="en-GB")],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
payload = page.raise_for_error()
print(payload.get("rating_summary"))
for review in payload.get("reviews", []):
print(review.get("rating"), review.get("description"))Fetch place reviews
import os
from litescrape_sdk import GoogleReviews, scrape
[page] = scrape(
[
GoogleReviews(
place_id="ChIJT2h1HKZZwokR0kgzEtsa03k",
sort_by="qualityScore",
hl="en",
gl="us",
)
],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
reviews = page.raise_for_error()
for review in reviews.get("reviews", []):
print(review.get("rating"), review.get("snippet"))Fetch contributor review history
import os
from litescrape_sdk import GoogleContributorReviews, scrape
[page] = scrape(
[
GoogleContributorReviews(
contributor_id="109736708296406538146",
hl="en",
gl="us",
limit=200,
)
],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
payload = page.raise_for_error()
print(payload["contributor"].get("name"))
for review in payload.get("reviews", []):
print(review["place_info"].get("title"), review.get("rating"), review.get("snippet"))// mcp server
Search from any MCP client
litescrape-mcp-server gives Claude Code, Cursor, Claude Desktop, Codex, Gemini CLI, and any other MCP client live results from Google Search, Bing, DuckDuckGo, and Google Maps. No API key is needed: each network gets a free daily allowance. Add your key for Google AI Mode, AI Overview, Shopping, and Reviews, and to lift every limit.
claude mcp add litescrape -- npx -y litescrape-mcp-server{
"mcpServers": {
"litescrape": {
"command": "npx",
"args": ["-y", "litescrape-mcp-server"]
}
}
}Free allowance without a key
google_searchandsearch: 25 calls per network per UTC day.bing_search,duckduckgo_search, andgoogle_maps: 50 calls each per network per UTC day.- One call at a time per network. Failed calls do not count. Limits reset at 00:00 UTC.
Add your API key
A key unlocks google_ai_mode, google_ai_overview, google_shopping, and google_reviews, removes the daily limits, and allows concurrent calls. Set LITESCRAPE_API_KEY in the server's environment:
{
"mcpServers": {
"litescrape": {
"command": "npx",
"args": ["-y", "litescrape-mcp-server"],
"env": {
"LITESCRAPE_API_KEY": "ls_live_..."
}
}
}
}Hosted endpoint
Clients that connect to remote servers can use https://mcp.litescrape.com/mcp instead of running the package. Send your key as Authorization: Bearer; without one, the same free allowance applies.
claude mcp add --transport http litescrape https://mcp.litescrape.com/mcp
# With your API key
claude mcp add --transport http litescrape https://mcp.litescrape.com/mcp --header "Authorization: Bearer $LITESCRAPE_API_KEY"Tool reference, source, and changelog: github.com/litescrape/litescrape-mcp-server. Also listed on npm, Smithery, Glama, and the official MCP registry.
// api parameters
Google Search API parameters
Litescrape can return Google SERP data, including the knowledge graph and a top-level ai_overview when Google generates one. The dedicated Google AI Overview endpoint below returns only that module when you do not need the other Search result groups.
Query and entity selectors
fast_modeOptionalReturn organic results only, skipping AI Overview and all other result groups.
truefalse- Keeps search metadata and parameters. Omits cross-module position_absolute.
qConditionalGoogle Search query, up to 2,048 characters.
- Required unless ludocid or kgmid is supplied.
ludocidConditionalGoogle local CID used to search for one entity.
kgmidConditionalGoogle Knowledge Graph machine ID, such as /m/0k8z.
Geographic location
locationOptionalHuman-readable city-level location encoded to UULE by Litescrape.
- Conflicts with uule and lat/lon.
uuleOptionalPre-encoded Google location value.
- Conflicts with location and lat/lon.
latOptionalLatitude from -90 through 90.
- Requires lon and conflicts with location and uule.
lonOptionalLongitude from -180 through 180.
- Requires lat and conflicts with location and uule.
radiusOptionalDecimal search-bias radius in meters.
- Requires location or lat/lon.
- Desktop: 1–199; tablet/mobile: 1–1,000.
Knowledge Graph and layout controls
lsigOptionalOpaque Knowledge Graph or local-pack signature.
siOptionalOpaque cached Google search context.
ibpOptionalGoogle layout or expansion control.
udsOptionalOpaque Google filter token.
color_schemeOptionalGoogle result color presentation.
lightdarkLocalization, filtering, and pagination
google_domainOptionalValidated Google domain, such as google.com or google.co.uk.
glOptionalLowercase two-letter country localization code.
hlOptionalGoogle interface and result language code.
crOptionalOne or more countryXX restrictions joined with |.
lrOptionalOne or more lang_xx restrictions joined with |.
tbsOptionalGoogle native date or search filter string.
safeOptionalGoogle adult-content filtering.
activeoffnfprOptionalGoogle auto-correction control.
01filterOptionalGoogle similar-result filtering control.
01pwsOptionalGoogle personalization control; 0 asks for non-personalized results.
01peek_pwsOptionalGoogle personalization peek flag, forwarded unchanged.
01tbmOptionalGoogle vertical: lcl, vid, nws, shop, or pts. Google Images (isch) is not supported.
startOptionalNon-negative Google result offset.
deviceOptionalRequest device profile and radius bound.
desktoptabletmobileAdvanced query parameters
as_dtOptionalIncludes or excludes as_sitesearch.
ie- Requires as_sitesearch.
as_epqOptionalExact phrase query.
as_eqOptionalExcluded phrase query.
as_lqOptionalRequire results that link to this URL.
as_nloOptionalInclusive range lower bound.
- Requires as_nhi.
as_nhiOptionalInclusive range upper bound.
- Requires as_nlo.
as_oqOptionalAny-of search terms.
as_qOptionalAdditional all-of search terms.
as_qdrOptionalQuick range d, w, m, or y with an optional positive count.
as_rqOptionalFind pages related to this URL.
as_sitesearchOptionalSite hostname to include or exclude.
// api parameters
Google AI Overview API parameters
GET https://api.litescrape.com/api/google/ai-overview accepts the same complete parameter contract as Google Search, waits for Google’s bounded overview generation window, and returns search_metadata, search_parameters, and ai_overview. The overview is an object on success. When Google supplies none, the endpoint returns non-retryable 404 not_found without consuming a call.
This endpoint is additive: Google Search keeps its source-selected top-level overview. Calling both endpoints makes two independent Google requests and consumes two calls when both succeed.
Query and entity selectors
Geographic location
locationOptionalHuman-readable city-level location encoded to UULE by Litescrape.
- Conflicts with uule and lat/lon.
uuleOptionalPre-encoded Google location value.
- Conflicts with location and lat/lon.
latOptionalLatitude from -90 through 90.
- Requires lon and conflicts with location and uule.
lonOptionalLongitude from -180 through 180.
- Requires lat and conflicts with location and uule.
radiusOptionalDecimal search-bias radius in meters.
- Requires location or lat/lon.
- Desktop: 1–199; tablet/mobile: 1–1,000.
Knowledge Graph and layout controls
lsigOptionalOpaque Knowledge Graph or local-pack signature.
siOptionalOpaque cached Google search context.
ibpOptionalGoogle layout or expansion control.
udsOptionalOpaque Google filter token.
color_schemeOptionalGoogle result color presentation.
lightdarkLocalization, filtering, and pagination
google_domainOptionalValidated Google domain, such as google.com or google.co.uk.
glOptionalLowercase two-letter country localization code.
hlOptionalGoogle interface and result language code.
crOptionalOne or more countryXX restrictions joined with |.
lrOptionalOne or more lang_xx restrictions joined with |.
tbsOptionalGoogle native date or search filter string.
safeOptionalGoogle adult-content filtering.
activeoffnfprOptionalGoogle auto-correction control.
01filterOptionalGoogle similar-result filtering control.
01pwsOptionalGoogle personalization control; 0 asks for non-personalized results.
01peek_pwsOptionalGoogle personalization peek flag, forwarded unchanged.
01tbmOptionalGoogle vertical: lcl, vid, nws, shop, or pts. Google Images (isch) is not supported.
startOptionalNon-negative Google result offset.
deviceOptionalRequest device profile and radius bound.
desktoptabletmobileAdvanced query parameters
as_dtOptionalIncludes or excludes as_sitesearch.
ie- Requires as_sitesearch.
as_epqOptionalExact phrase query.
as_eqOptionalExcluded phrase query.
as_lqOptionalRequire results that link to this URL.
as_nloOptionalInclusive range lower bound.
- Requires as_nhi.
as_nhiOptionalInclusive range upper bound.
- Requires as_nlo.
as_oqOptionalAny-of search terms.
as_qOptionalAdditional all-of search terms.
as_qdrOptionalQuick range d, w, m, or y with an optional positive count.
as_rqOptionalFind pages related to this URL.
as_sitesearchOptionalSite hostname to include or exclude.
// api parameters
Google Shopping API parameters
Litescrape returns Google Shopping products, category blocks, sponsored listings, and Google’s own refinement chips. Google applies one refinement at a time, so the price range, on sale, free shipping, and small business filters are mutually exclusive; sorting combines with any one of them.
Product search
qRequiredProduct query, up to 2,048 characters with no controls. Optional when a shoprs token is supplied.
shoprsOptionalGoogle refinement token from a previous response, up to 4,096 characters. An explicit refinement replaces the one it carries.
startOptionalResult offset from 0 through 1,000.
numOptional1 through 100. Responses are capped to this count and transparently consume Google’s fixed 40-product pages when needed.
Refinements and sorting
min_priceOptionalLower price bound, 0 through 1,000,000,000. Excludes the other refinements.
max_priceOptionalUpper price bound, at or above min_price. Excludes the other refinements.
sort_byOptionalPrice low to high, price high to low, rating high to low, or Google’s default relevance. Combines with one refinement.
1234on_saleOptionalOnly products Google marks as on sale. Excludes the other refinements.
free_shippingOptionalOnly products with free shipping. Excludes the other refinements.
small_businessOptionalOnly products from small businesses. Excludes the other refinements.
Geography and localization
locationOptionalNamed search origin, up to 512 characters and 63 UTF-8 bytes once encoded. Conflicts with uule.
uuleOptionalCanonical Google location token, up to 2,048 characters. Conflicts with location.
google_domainOptionalValidated first-party Google domain.
glOptionalTwo-letter country code, normalized to lowercase.
hlOptionalLanguage code such as en, en-GB, or de.
deviceOptionalGoogle returns its real layout for the selected device.
desktoptabletmobile// api parameters
Google AI Mode API parameters
Litescrape returns the answer Google generates on its own AI Mode surface, as ordered text blocks, together with the sources it cited. Answers are generated per request, so the same question will not return identical prose twice.
Question
qRequiredThe question to ask Google AI Mode, up to 2,048 characters with no controls.
Geography
Conversation and image
continuableOptionalReturn a subsequent_request_token so this answer can be followed up.
subsequent_request_tokenOptionalContinue a conversation from a previous continuable response. Requires a new question, and cannot be combined with image_url. Expires after 30 minutes.
image_urlOptionalPublic http or https image to include in the prompt, up to 2,048 characters and 20 MB. Google Lens receives the image; the answer still comes from AI Mode.
Localization
google_domainOptionalValidated first-party Google domain the request is served from.
glOptionalTwo-letter country localization, normalized to lowercase.
hlOptionalLanguage code such as en, en-GB, or de.
deviceOptionalGoogle returns its real layout for the selected device.
desktoptabletmobile// api parameters
Google Shopping Product API parameters
One product’s own page on Google Shopping: its merchant offers, specifications, reviews, and related products. Every product in a Google Shopping response carries the gpcid that selects it here, plus a ready-made litescrape_product_link. The grid’s search controls — shoprs, start, num, and the sort and price refinements — are not accepted: one product’s page has no page size, offset, sort order, or refinement.
Request preview: https://api.litescrape.com/api/google/shopping/product
Product selection
gpcidRequiredProduct cluster ID from a shopping result, 1 to 20 decimal digits. Optional when a prds token is supplied.
- Every Shopping result with a gpcid includes a ready-made litescrape_product_link.
headline_offer_docidOptionalHeadline merchant offer document ID from the same shopping result, 1 to 20 decimal digits. Goes with gpcid rather than prds.
image_docidOptionalImage document ID from the same shopping result, 1 to 20 decimal digits. Goes with gpcid rather than prds.
prdsOptionalGoogle product selector token from a previous response, up to 2,048 characters. Conflicts with gpcid and the identifiers above.
qRequiredThe search term this product was found with, up to 2,048 characters. Google resolves the product viewer against it as well as the identifiers.
Geography and localization
locationOptionalNamed search origin, up to 512 characters and 63 UTF-8 bytes once encoded. Conflicts with uule.
uuleOptionalCanonical Google location token, up to 2,048 characters. Conflicts with location.
google_domainOptionalValidated first-party Google domain.
glOptionalTwo-letter country code, normalized to lowercase.
hlOptionalLanguage code such as en, en-GB, or de.
deviceOptionalGoogle returns its real layout for the selected device.
desktoptabletmobile// api parameters
Bing Search API parameters
Litescrape can return Bing SERP data, including the knowledge graph.
Engine and query
Search origin
locationOptionalNamed city-level origin used to localize the Bing request.
- Maximum length: 256 characters.
- Control characters are rejected.
latOptionalLatitude from -90 through 90.
- May be supplied independently or with lon.
lonOptionalLongitude from -180 through 180.
- May be supplied independently or with lat.
Localization
Pagination, filters, and device
firstOptionalOne-based native offset for organic results.
- Range: 1 through 9,007,199,254,740,991.
- Prefer litescrape_pagination.next when it is returned.
safeSearchOptionalCase-insensitive Bing adult-content policy sent as safeSearch upstream.
offmoderatestrictfiltersOptionalNative Bing display or date filter expression.
- Maximum length: 8,192 characters.
- Control characters are rejected.
deviceOptionalSelects desktop, tablet, or mobile result behavior.
desktoptabletmobile// api parameters
Google Maps API parameters
Search Google Maps or resolve an exact place.
Collect more than 20 places
A Maps search returns up to 20 places per request. To collect more, send your first request with type=search and start=0 (or omit start). Then request the URL in pagination.next using the same Authorization: Bearer header. That URL preserves your query, location, language and filters, and advances the offset to 20, 40, and so on.
Each successful page request costs one credit. Five full pages return up to 100 places for five credits; 50 full pages return up to 1,000 for 50 credits. Deduplicate places as they arrive using place_id, falling back to data_id. Duplicate places reduce the unique count.
Stop when you have enough places, pagination.next is absent, or a page adds no new places. Google may run out of results before your target, and a next link does not guarantee a nonempty page. Successful empty or duplicate-only pages also cost one credit. Pagination continues the same search; it does not guarantee every business in a city.
Request and search query
qConditionalThe business, category, address, or natural-language query to search. Required when type is search.
- Examples: coffee shops in Austin, dentist near Denver
typeConditionalChooses a result search or an exact place response. Required for query and filter searches.
searchplace- Use place when sending an exact-place data sequence.
Geographic location
llOptionalA complete viewport containing latitude, longitude, and either zoom or radius.
- Format: @lat,lon,14z or @lat,lon,5000m
locationOptionalA named geographic location resolved by the API. Cannot be combined with ll or lat/lon.
- Requires z or m.
latOptionalLatitude for a coordinate-based viewport. Must be supplied with lon and either z or m.
lonOptionalLongitude for a coordinate-based viewport. Must be supplied with lat and either z or m.
zConditionalGoogle Maps zoom level for location or lat/lon geography.
- Accepted range: 3 through 30.
- Cannot be combined with m.
mConditionalSearch radius in meters for location or lat/lon geography.
- Accepted range: 1 through 15,028,132.
- Cannot be combined with z.
nearbyOptionalUses the supplied geography as a nearby-search scope.
- Requires ll, location, or a lat/lon pair.
Exact place
place_idConditionalA Google place identifier used to resolve one exact place or request live foot traffic.
- Cannot be combined with data_cid or exact-place data on the primary Maps endpoint.
- It is the only required parameter on /api/google/maps/popular-times.
- Each live result is written under a unique internal datetime cache key and never replayed; places without published data return popular_times: null.
data_cidConditionalA decimal Google CID used to resolve one exact place.
- Cannot be combined with place_id or exact-place data.
dataConditionalA Google Maps protobuf parameter sequence for search filters or an exact place.
- Maximum length: 8,192 characters.
- Exact-place data requires type=place.
Localization
hlOptionalLanguage used for Google Maps labels and returned text.
- Examples: en, es, fr, de
glOptionalTwo-letter country code used for regional result localization.
- Examples: us, gb, ca, au
google_domainOptionalValidated Google domain used for the request.
- Examples: google.com, google.co.uk, google.ca
Search filters
min_priceOptionalMinimum price level for returned places.
- Must be non-negative and cannot exceed max_price.
max_priceOptionalMaximum price level for returned places.
- Must be non-negative and cannot be lower than min_price.
min_ratingOptionalPreferred minimum Google rating.
2.02.53.03.54.04.5- Google treats this as a relevance preference.
open_stateOptionalFilters by the current open state.
now24h- Cannot be combined with open_on_day or open_at_hour.
open_on_dayOptionalFilters for places open on a specific day.
montuewedthufrisatsunopen_at_hourOptionalFilters for places open at a specific hour using 24-hour time.
- Accepted range: 0 through 23.
- Requires open_on_day.
Pagination
startOptionalNative Maps result offset: 0, 20, 40, and so on. Each request returns up to 20 places and each successful request costs one credit.
- Use pagination.next when it is present instead of constructing the next request manually.
Live traffic, posts, and photos
data_idConditionalFeature identifier for the Posts endpoint or photo identifier for the photo metadata endpoint.
- Posts IDs look like 0x123:0x456; follow posts_link from a Maps place response for a ready-made request.
- Photo IDs contain letters, digits, underscores, or hyphens; follow a nested photo_meta_link from a Maps place response.
next_page_tokenOptionalOpaque continuation token returned by the Maps Posts endpoint.
- Use only a token returned by a prior response.
- Length: 16–4,096 characters.
// api parameters
Apple Maps Places API parameters
Resolve Apple Maps places by MUID.
Place identifiers and localization
muidRequiredOne or more Apple Maps unique place identifiers.
- Separate multiple identifiers with commas.
- Accepted batch size: 1 through 50 unsigned 64-bit decimal IDs.
- Example: 4372355869446211302.
localeOptionalControls Apple Maps language and regional formatting.
- Examples: en-US, fr-FR, ja-JP, and zh-TW.
// api parameters
Google Reviews API parameters
Fetch and filter Google Maps reviews for one place.
Place identifier
Sorting and localization
Review filters
queryOptionalReturns reviews matching a free-text query.
- Cannot be combined with topic_id.
topic_idOptionalReturns reviews associated with a topic ID from the topics response group.
- Cannot be combined with query.
numOptionalRequested number of unique reviews to return.
- Initial unfiltered requests accept 1 through 100; the default remains eight.
- Counts above eight consume Google continuation pages internally and return one response.
- Filtered and continuation requests accept 1 through 20.
source_metadataOptionalIncludes additional review-provider icon and scale metadata when available.
Pagination
next_page_tokenOptionalOpaque continuation token from pagination.next_page_token.
- Pass the token back unchanged.
- Continuation requests default to ten reviews unless num is provided.
// api parameters
DuckDuckGo Search API parameters
Search DuckDuckGo with region, safety, date, and pagination controls.
qRequiredRequired search text, up to 500 characters.
klOptionalDuckDuckGo region and language token, such as us-en.
search_assistOptionalEnable DuckDuckGo query assistance; mutually exclusive with m.
safeOptionalDuckDuckGo safe-search level.
1-1-2dfOptionalDate window: d, w, m, y, or YYYY-MM-DD..YYYY-MM-DD.
startOptionalResult offset from 0 through 10,000.
mOptionalRequested result count from 1 through 50; mutually exclusive with search_assist.
// api parameters
DuckDuckGo Maps API parameters
Search DuckDuckGo Maps within a map viewport.
qRequiredRequired place or category query, up to 500 characters.
bboxConditionalViewport rectangle as top,left,bottom,right.
latConditionalViewport center latitude; requires lon.
lonConditionalViewport center longitude; requires lat.
strict_bboxOptionalExclude results outside the requested bounds.
// api parameters
Bing Maps API parameters
Search Bing Maps listings or resolve one native Bing Maps entity ID.
qConditionalSearch query; required unless place_id is supplied.
cpOptionalOptional map center in latitude~longitude form.
setlangOptionalBing Maps interface language, such as en-US.
place_idConditionalNative Bing Maps entity identifier for a detail lookup.
firstOptionalListing offset from 0 through 10,000.
countOptionalNumber of listings from 1 through 30.
// api parameters
Yelp Search API parameters
Search Yelp by location, category, map area, sort, and pagination.
find_descOptionalBusiness name, category, or search terms.
find_locRequiredRequired Yelp search location.
yelp_domainOptionalSupported localized Yelp hostname.
lOptionalOptional Yelp-native map bounds token.
cfltOptionalYelp category identifier containing letters, numbers, _ or -.
sortbyOptionalNative Yelp ordering.
recommendedratingreview_countattrsOptionalYelp-native comma-separated attribute filters.
startOptionalResult offset from 0 through 10,000.
// api parameters
Yelp Reviews API parameters
Fetch Yelp reviews with language, rating, sort, and pagination controls.
place_idRequiredRequired encoded Yelp business identifier.
yelp_domainOptionalSupported localized Yelp hostname.
hlOptionalReview language such as en or fr-FR.
qOptionalExplicit unsupported control for review-text filtering; returns 422 when set.
sortbyOptionalYelp review ordering.
relevance_descdate_descdate_ascrating_descrating_ascelites_descratingOptionalComma-separated ratings from 1 through 5.
not_recommendedOptionalExplicit unsupported hidden-feed control; returns 422 when true.
startOptionalReview offset from 0 through 10,000.
numOptionalReview count from 1 through 49.
not_recommended_startOptionalUnavailable hidden-feed offset; rejected when supplied.
// api parameters
Tripadvisor Search API parameters
Search Tripadvisor by text, location, coordinates, and place type.
qRequiredRequired search text, up to 500 characters.
tripadvisor_domainOptionalSupported localized Tripadvisor hostname.
localeOptionalLanguage or language-COUNTRY code.
geo_idOptionalOptional positive Tripadvisor geography identifier.
latConditionalOptional search-center latitude; requires lon.
lonConditionalOptional search-center longitude; requires lat.
place_typeOptionalResult entity type.
allaccommodationattractionattraction_producteaterygeostartOptionalResult offset from 0 through 10,000.
numOptionalResult count from 1 through 30.
// api parameters
Tripadvisor Place API parameters
Resolve one Tripadvisor place.
place_idRequiredRequired positive Tripadvisor place identifier.
tripadvisor_domainOptionalSupported localized Tripadvisor hostname.
localeOptionalLanguage or language-COUNTRY code.
currencyOptionalThree-letter ISO currency for price fields.
geo_idOptionalOptional positive parent geography identifier.
// api parameters
Tripadvisor Reviews API parameters
Fetch Tripadvisor reviews.
place_idRequiredRequired positive Tripadvisor place identifier.
tripadvisor_domainOptionalSupported localized Tripadvisor hostname.
localeOptionalLanguage or language-COUNTRY code.
startOptionalReview offset from 0 through 10,000.
numOptionalReview count from 1 through 50.
sort_byOptionalChronological or machine-ranked ordering.
recentrelevancetranslateOptionalRequest Tripadvisor machine translation.
// api parameters
Apple Maps Reviews API parameters
Return ratings and written reviews attributed to Apple.
// api parameters
Google Contributor Reviews API parameters
Fetch up to 200 reviews from one Google Maps contributor profile.
contributor_idRequiredRequired 10 to 32 digit ID from a Google Maps contributor URL.
hlOptionalReview and interface language such as en, en-US, or fr.
glOptionalTwo-letter country localization.
limitOptionalReview count from 1 through the anonymous source maximum of 200.
// api parameters
Google Ads API parametersAlpha
Litescrape returns the complete Google results page, including ads, local_ads, shopping_results, organic_results, and any other result groups Google provides. Try the Google Ads API in the playground.
Request endpoint: https://api.litescrape.com/api/google/ads
Query and location
Language, filtering, and device
hlOptionalGoogle interface and result language, such as en, en-GB, or de.
safeOptionalGoogle adult-content filtering.
activeoffnfprOptionalGoogle spelling auto-correction control. Set 1 to exclude corrected queries.
01deviceOptionalGoogle returns its real layout for the selected device.
desktoptabletmobileSerpAPI parameter compatibility
SerpAPI documents 13 Google Ads parameters. Litescrape accepts six directly, fixes the engine at the endpoint, moves authentication to a bearer header, and leaves five SerpAPI platform controls out of its public contract. See the SerpAPI Google Ads reference.
| SerpAPI parameter | Purpose | Litescrape support | Litescrape behavior |
|---|---|---|---|
q | Search query | Yes | Required query parameter with the same name. |
location | Named search origin | Yes | Required query parameter; Litescrape encodes it directly for Google. |
hl | Result language | Yes | Optional query parameter; defaults to en. |
safe | Adult-content filtering | Yes | Optional query parameter accepting active or off. |
nfpr | Spelling auto-correction control | Yes | Optional query parameter accepting 0 or 1. |
engine | Select the SerpAPI engine | Built in | Fixed to google_ads by the endpoint; do not send it. |
device | Desktop, tablet, or mobile layout | Yes | Optional query parameter; defaults to desktop. |
no_cache | Bypass the provider cache | No | No public cache override; caching is service-managed. |
async | Submit an asynchronous job | No | Requests are synchronous and return one JSON response. |
zero_trace | Select SerpAPI ZeroTrace mode | No | Not accepted as a Litescrape query parameter. |
api_key | Authenticate with SerpAPI | Bearer auth | Use Authorization: Bearer <LITESCRAPE_API_KEY>; do not put keys in the URL. |
output | Choose JSON or HTML output | No | The endpoint always returns JSON. |
json_restrictor | Restrict fields in SerpAPI JSON | No | The endpoint returns the complete parsed response; shape it in your client. |
// api parameters
Google Local API parametersAlpha
Litescrape can return Google Local results and pagination data.
Local query and entity
qRequiredGoogle Local query, up to 2,048 characters with no controls.
ludocidOptionalGoogle local CID, up to 128 digits.
tbsOptionalGoogle compatibility token forwarded unchanged; the provider may leave ranking unchanged.
startOptionalLocal-result offset through 10,000; source-exhausted offsets above 1,000 return empty.
Local geography
Local result localization
google_domainOptionalValidated Google domain.
- Examples: google.com, google.co.uk, google.fr.
glOptionalCountry localization normalized to lowercase.
hlOptionalGoogle interface and result language.
deviceOptionalCompatibility value over device-invariant Maps data.
desktoptabletmobile// api parameters
Google Play Apps API parameters Alpha
Search and browse Android apps, categories, device storefronts, and charts.
GET https://api.litescrape.com/api/google/play/apps
Alpha: store layouts and field availability may change. Returns organic_results, source-selected app_highlight, items_highlight, charts, and litescrape_pagination. Optional groups appear only when supplied by the store.
Use your existing bearer key. A successful response consumes one call; failures do not. Follow returned pagination links with the same parameters. Tokens are specific to this API and operation.
Retained native response bundles are linked by search_metadata.raw_file and search_metadata.prettify_file. They remain available for at least seven days (today and the previous seven UTC date buckets), require an active bearer key, and do not consume another call.
# pip install litescrape-sdk
import os
from litescrape_sdk import GooglePlayApps, scrape
[result] = scrape(
[GooglePlayApps(
q="coffee",
)],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
print(result.raise_for_error())qOptionalOptional query with 1 to 2,048 UTF-8 bytes of printable text. Excludes category. Omit it to browse the storefront.
hlOptionalStorefront language, such as en, de, or zh-TW. Maximum 32 characters.
glOptionalTwo-letter country code.
apps_categoryOptionalNative category identifier, such as MEDICAL or GAME_PUZZLE. Excludes q and an explicit store_device.
store_deviceOptionalOmit for the default phone storefront. An explicit selection excludes q and category.
phonetablettvchromebookwatchcarageOptionalRequires the children’s category: FAMILY for apps and movies, or coll_1689 for books.
AGE_RANGE1AGE_RANGE2AGE_RANGE3chartOptionalChart identifier such as topselling_free, topselling_paid, or topgrossing. Excludes q and all pagination selectors. Apps and games charts require phone or an omitted store_device.
next_page_tokenOptionalUse the returned next_page_token with the same parameters. Excludes chart, section_page_token, and see_more_token.
section_page_tokenOptionalContinue one result group using its returned token and the same parameters. Excludes the other pagination selectors and chart.
see_more_tokenOptionalOpen a result collection using its returned token and the same parameters. Excludes the other pagination selectors and chart.
// api parameters
Google Play Games API parameters Alpha
Browse games, categories, device storefronts, and charts, or query the shared Android app search.
GET https://api.litescrape.com/api/google/play/games
Alpha: store layouts and field availability may change. Returns organic_results, source-selected app_highlight, items_highlight, charts, and litescrape_pagination. Optional groups appear only when supplied by the store.
Use your existing bearer key. A successful response consumes one call; failures do not. Follow returned pagination links with the same parameters. Tokens are specific to this API and operation.
Retained native response bundles are linked by search_metadata.raw_file and search_metadata.prettify_file. They remain available for at least seven days (today and the previous seven UTC date buckets), require an active bearer key, and do not consume another call.
# pip install litescrape-sdk
import os
from litescrape_sdk import GooglePlayGames, scrape
[result] = scrape(
[GooglePlayGames()],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
print(result.raise_for_error())qOptionalOptional query with 1 to 2,048 UTF-8 bytes of printable text. Excludes category. Uses shared Android app search. Omit q or choose games_category to browse games.
hlOptionalStorefront language, such as en, de, or zh-TW. Maximum 32 characters.
glOptionalTwo-letter country code.
games_categoryOptionalNative category identifier, such as MEDICAL or GAME_PUZZLE. Excludes q and an explicit store_device.
store_deviceOptionalOmit for the default phone storefront. An explicit selection excludes q and category.
phonetablettvchromebookwatchwindowschartOptionalChart identifier such as topselling_free, topselling_paid, or topgrossing. Excludes q and all pagination selectors. Apps and games charts require phone or an omitted store_device.
next_page_tokenOptionalUse the returned next_page_token with the same parameters. Excludes chart, section_page_token, and see_more_token.
section_page_tokenOptionalContinue one result group using its returned token and the same parameters. Excludes the other pagination selectors and chart.
see_more_tokenOptionalOpen a result collection using its returned token and the same parameters. Excludes the other pagination selectors and chart.
// api parameters
Google Play Books API parameters Alpha
Search and browse ebooks, audiobooks, series, categories, and charts.
GET https://api.litescrape.com/api/google/play/books
Alpha: store layouts and field availability may change. Returns organic_results grouped by format, charts, and litescrape_pagination. Optional groups appear only when supplied by the store.
Use your existing bearer key. A successful response consumes one call; failures do not. Follow returned pagination links with the same parameters. Tokens are specific to this API and operation.
Retained native response bundles are linked by search_metadata.raw_file and search_metadata.prettify_file. They remain available for at least seven days (today and the previous seven UTC date buckets), require an active bearer key, and do not consume another call.
# pip install litescrape-sdk
import os
from litescrape_sdk import GooglePlayBooks, scrape
[result] = scrape(
[GooglePlayBooks(
q="Dune",
)],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
print(result.raise_for_error())qOptionalOptional query with 1 to 2,048 UTF-8 bytes of printable text. Excludes category. Omit it to browse the storefront.
hlOptionalStorefront language, such as en, de, or zh-TW. Maximum 32 characters.
glOptionalTwo-letter country code.
books_categoryOptionalNative category identifier, such as coll_1689 for children’s books or FAMILY for family movies. Excludes q.
ageOptionalRequires the children’s category: FAMILY for apps and movies, or coll_1689 for books.
AGE_RANGE1AGE_RANGE2AGE_RANGE3priceOptional1 for free books or 2 for paid books. Requires q.
12chartOptionalChart identifier such as topselling_free, topselling_paid, or topgrossing. Excludes q and all pagination selectors. Apps and games charts require phone or an omitted store_device.
next_page_tokenOptionalUse the returned next_page_token with the same parameters. Excludes chart, section_page_token, and see_more_token.
section_page_tokenOptionalContinue one result group using its returned token and the same parameters. Excludes the other pagination selectors and chart.
see_more_tokenOptionalOpen a result collection using its returned token and the same parameters. Excludes the other pagination selectors and chart.
// api parameters
Google Play Movies API parameters Alpha
Search and browse movies, TV shows, episodes, categories, and charts.
GET https://api.litescrape.com/api/google/play/movies
Alpha: store layouts and field availability may change. Returns organic_results grouped by format, charts, and litescrape_pagination. Optional groups appear only when supplied by the store.
Use your existing bearer key. A successful response consumes one call; failures do not. Follow returned pagination links with the same parameters. Tokens are specific to this API and operation.
Retained native response bundles are linked by search_metadata.raw_file and search_metadata.prettify_file. They remain available for at least seven days (today and the previous seven UTC date buckets), require an active bearer key, and do not consume another call.
# pip install litescrape-sdk
import os
from litescrape_sdk import GooglePlayMovies, scrape
[result] = scrape(
[GooglePlayMovies(
q="Dune",
)],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
print(result.raise_for_error())qOptionalOptional query with 1 to 2,048 UTF-8 bytes of printable text. Excludes category. Omit it to browse the storefront.
hlOptionalStorefront language, such as en, de, or zh-TW. Maximum 32 characters.
glOptionalTwo-letter country code.
movies_categoryOptionalNative category identifier, such as coll_1689 for children’s books or FAMILY for family movies. Excludes q.
ageOptionalRequires the children’s category: FAMILY for apps and movies, or coll_1689 for books.
AGE_RANGE1AGE_RANGE2AGE_RANGE3chartOptionalChart identifier such as topselling_free, topselling_paid, or topgrossing. Excludes q and all pagination selectors. Apps and games charts require phone or an omitted store_device.
next_page_tokenOptionalUse the returned next_page_token with the same parameters. Excludes chart, section_page_token, and see_more_token.
section_page_tokenOptionalContinue one result group using its returned token and the same parameters. Excludes the other pagination selectors and chart.
see_more_tokenOptionalOpen a result collection using its returned token and the same parameters. Excludes the other pagination selectors and chart.
// api parameters
Google Play Product API parameters Alpha
Read app, ebook, audiobook, movie, or TV product details.
GET https://api.litescrape.com/api/google/play/product
Alpha: store layouts and field availability may change. Returns product_info, offers, media, descriptions, ratings, sample reviews, related products, and format-specific information such as authors, cast, seasons, and episodes. Optional groups appear only when supplied by the store.
Use your existing bearer key. A successful response consumes one call; failures do not. Follow returned pagination links with the same parameters. Tokens are specific to this API and operation.
Retained native response bundles are linked by search_metadata.raw_file and search_metadata.prettify_file. They remain available for at least seven days (today and the previous seven UTC date buckets), require an active bearer key, and do not consume another call.
# pip install litescrape-sdk
import os
from litescrape_sdk import GooglePlayProduct, scrape
[result] = scrape(
[GooglePlayProduct(
product_id="com.duolingo",
)],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
print(result.raise_for_error())product_idRequiredNative Google Play product identifier, with 1 to 512 letters, digits, underscores, dots, or hyphens.
storeOptionalProduct catalog containing this identifier.
appsbooksaudiobooksmoviestvseason_idOptionalNative season identifier, such as tvseason-OVPad1njPzI.P. Requires store=tv.
hlOptionalStorefront language, such as en, de, or zh-TW. Maximum 32 characters.
glOptionalTwo-letter country code.
// api parameters
Google Play Reviews API parameters Alpha
Filter and paginate product reviews, including available developer replies.
GET https://api.litescrape.com/api/google/play/reviews
Alpha: store layouts and field availability may change. Returns reviews with identity, rating, text, likes, dates, versions, responses, and litescrape_pagination. Optional groups appear only when supplied by the store.
Use your existing bearer key. A successful response consumes one call; failures do not. Follow returned pagination links with the same parameters. Tokens are specific to this API and operation.
Retained native response bundles are linked by search_metadata.raw_file and search_metadata.prettify_file. They remain available for at least seven days (today and the previous seven UTC date buckets), require an active bearer key, and do not consume another call.
# pip install litescrape-sdk
import os
from litescrape_sdk import GooglePlayReviews, scrape
[result] = scrape(
[GooglePlayReviews(
product_id="com.duolingo",
num=5,
)],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
print(result.raise_for_error())product_idRequiredNative Google Play product identifier, with 1 to 512 letters, digits, underscores, dots, or hyphens.
storeOptionalProduct catalog containing this identifier.
appsbooksaudiobooksmoviestvhlOptionalStorefront language, such as en, de, or zh-TW. Maximum 32 characters.
glOptionalTwo-letter country code.
platformOptionalPlatform associated with the reviews.
phonetabletwatchchromebooktvratingOptionalOnly reviews with this rating, from 1 through 5.
sort_byOptional1 for relevant, 2 for newest, or 3 for rating.
123numOptionalNumber of reviews, from 1 through 199.
next_page_tokenOptionalReturned review continuation. Preserve product, store, language, country, platform, rating, sort order, and count.
// api parameters
Apple App Store Search API parameters Alpha
Search iPhone, iPad, and Mac apps or developers by storefront.
GET https://api.litescrape.com/api/apple/app-store/search
Alpha: store layouts and field availability may change. Returns organic_results with prices, developers, ratings, genres, releases, languages, screenshots, and supported devices. Optional groups appear only when supplied by the store.
Use your existing bearer key. A successful response consumes one call; failures do not. Follow returned pagination links with the same parameters. Tokens are specific to this API and operation.
Retained native response bundles are linked by search_metadata.raw_file and search_metadata.prettify_file. They remain available for at least seven days (today and the previous seven UTC date buckets), require an active bearer key, and do not consume another call.
# pip install litescrape-sdk
import os
from litescrape_sdk import AppleAppStoreSearch, scrape
[result] = scrape(
[AppleAppStoreSearch(
term="coffee",
)],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
print(result.raise_for_error())termRequiredRequired search term with 1 to 2,048 UTF-8 bytes of printable text, and at most 4,096 bytes after URL encoding.
countryOptionalTwo-letter Apple storefront country. UK is accepted as an alias for GB.
langOptionalLanguage-region code, such as en-us or fr-fr.
numOptionalMaximum results after filtering, from 1 through 200.
disallow_explicitOptionalExclude explicit results when true.
truefalsepropertyOptionalUse developer to match developer names, ignoring case.
developercategory_idOptionalFilter results by a native genre identifier, from 1 through 2,147,483,647.
deviceOptionalmobile for iPhone apps, tablet for iPad apps, or desktop for Mac apps.
mobiletabletdesktop// api parameters
Apple App Store Product API parameters Alpha
Read app details, version history, screenshots, ratings, privacy disclosures, and related apps.
GET https://api.litescrape.com/api/apple/app-store/product
Alpha: store layouts and field availability may change. Returns title, id, developer, price, rating, platform screenshots, version_history, ratings_and_reviews, privacy, information, featured_in, and related apps. Optional groups appear only when supplied by the store.
Use your existing bearer key. A successful response consumes one call; failures do not. Follow returned pagination links with the same parameters. Tokens are specific to this API and operation.
Retained native response bundles are linked by search_metadata.raw_file and search_metadata.prettify_file. They remain available for at least seven days (today and the previous seven UTC date buckets), require an active bearer key, and do not consume another call.
# pip install litescrape-sdk
import os
from litescrape_sdk import AppleAppStoreProduct, scrape
[result] = scrape(
[AppleAppStoreProduct(
product_id="570060128",
)],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
print(result.raise_for_error())product_idRequiredPositive decimal Apple app identifier, up to 20 digits.
countryOptionalTwo-letter Apple storefront country. UK is accepted as an alias for GB.
typeOptionalApp product type.
app// api parameters
Apple App Store Reviews API parameters Alpha
Read storefront-specific app reviews. iOS pages contain up to 25 reviews; Mac pages contain up to 10 and use Apple’s newest-first ordering.
GET https://api.litescrape.com/api/apple/app-store/reviews
Alpha: store layouts and field availability may change. Returns reviews, search_information, and litescrape_pagination; fields absent from Apple’s response are omitted. Optional groups appear only when supplied by the store.
Use your existing bearer key. A successful response consumes one call; failures do not. Follow returned pagination links with the same parameters. Tokens are specific to this API and operation.
Retained native response bundles are linked by search_metadata.raw_file and search_metadata.prettify_file. They remain available for at least seven days (today and the previous seven UTC date buckets), require an active bearer key, and do not consume another call.
# pip install litescrape-sdk
import os
from litescrape_sdk import AppleAppStoreReviews, scrape
[result] = scrape(
[AppleAppStoreReviews(
product_id="570060128",
)],
api_key=os.environ["LITESCRAPE_API_KEY"],
)
print(result.raise_for_error())product_idRequiredPositive decimal Apple app identifier, up to 20 digits.
countryOptionalTwo-letter Apple storefront country. UK is accepted as an alias for GB.
sortOptionalmostrecent or mosthelpful. Apple’s Mac storefront always returns newest first.
mostrecentmosthelpfulpageOptionalOne-based page number, from 1 through 2,147,483,647. Exhausted pages return an empty review list.
// json response
Response structure
Successful responses include request metadata, normalized parameters, and the result groups available for that operation. Optional groups are omitted when the source does not provide them.
{
"search_metadata": {
"id": "b0aeae6949e0c6885d20be24",
"status": "Success",
"total_time_taken": 1.42
},
"search_parameters": {
"q": "coffee shops in Austin, TX",
"type": "search",
"ll": "@30.2672,-97.7431,14z"
},
"search_information": {
"local_results_state": "Results for exact spelling"
},
"local_results": [
{
"position": 1,
"title": "Example Coffee",
"rating": 4.8,
"reviews": 312
}
],
"pagination": {
"next": "https://..."
}
}{
"search_metadata": {
"status": "Success",
"google_url": "https://www.google.com/search?q=Apple"
},
"search_parameters": {
"q": "Apple",
"google_domain": "google.com",
"hl": "en",
"device": "desktop"
},
"knowledge_graph": {
"title": "Apple",
"type": "Technology company",
"kgmid": "/m/0k8z",
"description": "American multinational technology company"
},
"organic_results": [
{
"position": 1,
"title": "Apple",
"link": "https://www.apple.com/",
"displayed_link": "https://www.apple.com"
}
],
"related_searches": [
{
"block_position": 1,
"query": "Apple products",
"items": [
{
"name": "iPhone",
"image": "https://images.example/iphone.jpg",
"link": "https://www.apple.com/iphone/"
}
],
"link": "https://www.google.com/search?q=Apple+products"
}
]
}{
"search_metadata": {
"id": "a4d234f6b74a330f8a8d5069",
"status": "Success",
"bing_url": "https://www.bing.com/search?q=pizza+shops+in+New+York"
},
"search_parameters": {
"engine": "bing",
"q": "pizza shops in New York",
"mkt": "en-US",
"device": "desktop"
},
"knowledge_graph": {
"title": "Pizza",
"description": "A baked flatbread dish with toppings."
},
"organic_results": [
{
"position": 1,
"title": "Example Pizza",
"link": "https://example.com/pizza"
}
],
"pagination": {
"next": "https://www.bing.com/search?q=pizza+shops+in+New+York&first=11"
},
"litescrape_pagination": {
"next": "https://api.litescrape.com/api/bing/search?q=pizza+shops+in+New+York&first=11"
}
}// errors
Stable error bodies
Every JSON error includes a machine-readable code, request ID, and retry guidance. Fix 400-level request errors before retrying.
{
"error": "q is required when type=search",
"error_code": "invalid_request",
"status_code": 400,
"request_id": "6cebd506b0b4c1a820da15a3",
"retryable": false,
"search_parameters": {
"type": "search"
}
}