Crawlora
ProductPlatformsUse CasesDocsPricingCompareContact
Sign inTry Playground Console
Crawlora

Structured public web data APIs for search, maps, geocoding, streaming, travel, real estate, marketplaces, apps, social, audio, crypto, finance, and AI workflows with managed execution and credit-based usage.

Product

Web Scraping APIFeaturesPlatformsTravel APIsReal Estate APIsPricing

Platforms

Google SearchGoogle MapsGoogle TrendsAmazonZillowTripAdvisorShopifyAll platforms

Developers

DocsGetting StartedAPI ExamplesPlaygroundSDKsChangelogBlogGitHub

Use cases

SERP MonitoringGoogle Maps LeadsProperty Market IntelligenceAmazon Product MonitoringCrypto Market ResearchAI Agent Web DataAll use cases

Legal

ContactTermsPrivacy
Product
Web Scraping APIFeaturesPlatformsTravel APIsReal Estate APIsPricing
Platforms
Google SearchGoogle MapsGoogle TrendsAmazonZillowTripAdvisorShopifyAll platforms
Developers
DocsGetting StartedAPI ExamplesPlaygroundSDKsChangelogBlogGitHub
Use cases
SERP MonitoringGoogle Maps LeadsProperty Market IntelligenceAmazon Product MonitoringCrypto Market ResearchAI Agent Web DataAll use cases
Legal
ContactTermsPrivacy
© 2026 Crawlora. All rights reserved.·Built by Tony Wang
System statusCrawlora API status
Docs menu

Start here

OverviewGetting StartedAuthenticationRate Limits and CreditsError Handling

Examples

ExamplescURLTypeScriptPythonGo

Recipes

RecipesSERP MonitoringGoogle Maps LeadsApp Review AnalysisYouTube TranscriptsTikTok Trend ResearchAmazon Product MonitoringAI Agent Web Data

API Reference

AirbnbAmazonApplePodcastsAppStoreBingBrandBraveCoinGeckoDatasetseBayGeocodingGoogleGoogle FinanceGoogle MapGoogle TrendsGooglePlayInstagramJustWatchLinkedInProductHuntRedditShop.appShopifySimilarWebSpotifySpotifyPodcastsTikTokTripAdvisorTrustpilotYahoo FinanceYouTubeZillow

Start here

OverviewGetting StartedAuthenticationRate Limits and CreditsError Handling

Examples

ExamplescURLTypeScriptPythonGo

Recipes

RecipesSERP MonitoringGoogle Maps LeadsApp Review AnalysisYouTube TranscriptsTikTok Trend ResearchAmazon Product MonitoringAI Agent Web Data

API Reference

AirbnbAmazonApplePodcastsAppStoreBingBrandBraveCoinGeckoDatasetseBayGeocodingGoogleGoogle FinanceGoogle MapGoogle TrendsGooglePlayInstagramJustWatchLinkedInProductHuntRedditShop.appShopifySimilarWebSpotifySpotifyPodcastsTikTokTripAdvisorTrustpilotYahoo FinanceYouTubeZillow
  1. Home
  2. /Docs
  3. /Shop.app
  4. /Analyze Shop.app query results API

Shop.app API endpoint

Analyze Shop.app query results API

Use Crawlora's Analyze Shop.app query results API to extract supported public Shop.app data as structured JSON. This page includes request parameters, cURL examples, response schema, error behavior, credit cost, and a Playground link for testing before integration.

GETapiKey5 credits/requestShop.appshopapp.analysisResponseDoc/shop-app/analysis

Endpoint facts

Method
GET
API path
/shop-app/analysis
Auth
apiKey
Credits
5 credits/request
Platform
Shop.app
Response schema
#/definitions/shopapp.analysisResponseDoc

Overview

Returns a market snapshot derived from Shop.app search results, including price ranges, currencies, sale counts, discounts, and top shops. Limit defaults to 20 and accepts values up to 50. Developers commonly use this endpoint for data enrichment, monitoring, research dashboards, internal automation, and agent-native workflows that need repeatable structured public web data. Authentication uses the documented Crawlora headers, and usage is metered with the credit cost shown on this page.

Shop.app platform pageTry Analyze Shop.app query results API in PlaygroundCrawlora API pricingShop.app API documentation

Request parameters

Request parameters are generated from the active endpoint catalog. Required values must be sent before Crawlora can call the upstream public web data source.

ParameterTypeRequiredDefaultDescriptionExample
querystringYesSearch querysneakers
limitintegerNo20 and supports up to 50Maximum products to analyze, defaults to 20 and supports up to 5020
in_stockbooleanNoRequest in-stock productstrue
on_salebooleanNoRequest sale productsfalse
deep_searchbooleanNoEnable Shop.app deep search modefalse
x-api-key (header)stringYesAPI key required

cURL example

curl -X GET "https://api.crawlora.net/api/v1/shop-app/analysis?query=sneakers&limit=20&in_stock=true&on_sale=false&deep_search=false" \
  -H "x-api-key: $CRAWLORA_API_KEY"

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

Infrastructure behavior

This endpoint is executed through Crawlora's managed scraping infrastructure.

  • Proxy strategy: managed automatically where needed
  • Browser rendering: enabled for supported targets that require rendered HTML or JavaScript execution
  • Browser cluster: supported dynamic workloads can be routed through distributed browser instances
  • Retry behavior: automatic retry/fallback may be used depending on endpoint type
  • Challenge handling: challenged pages or unusable upstream HTML are detected and surfaced clearly when they cannot be used
  • Billing: credits are charged only for successful 2xx responses
  • Observability: responses include request context where available

Response behavior

- `prices_by_currency` reports min, max, average, and count for each currency present in parsed products. - `discounts` is computed only from products with both `price` and `original_price`. - `top_shops` ranks shops by the number of parsed products in the analyzed result set. - Blocked pages, malformed SSE events, and non-empty searches with no parsed products return an upstream error. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "sneakers", "products_count": 5, "groups_count": 2, "shops_count": 3, "currencies": ["USD"], "prices_by_currency": [ { "currency": "USD", "count": 5, "min": 40, "max": 100, "average": 67.5 } ], "sale_count": 2, "discounts": { "min_percent": 20, "max_percent": 50, "average_percent": 35 }, "top_shops": [ { "shop_id": "62696", "shop_name": "BILLY Footwear", "count": 2 } ], "sampled_product_ids": ["8075903107261", "7093164834901"] } } ```

Error behavior

Crawlora does not silently return bad data when the upstream page cannot be used.

StatusCommon failure case
400Invalid input or missing required parameter
429Plan or endpoint rate limit exceeded
500Internal execution error
502Upstream platform failed, returned unusable HTML, or served a challenge page that could not be resolved

When possible, Crawlora returns structured error context so your integration can retry, back off, or inspect the request.

Failure responses

StatusDescriptionSchema
400Bad Request#/definitions/app.Response
429Too Many Requests#/definitions/app.Response
503Service Unavailable#/definitions/app.Response

Example JSON response

{
  "code": 200,
  "msg": "OK",
  "data": {
    "query": "sneakers",
    "products_count": 5,
    "groups_count": 2,
    "shops_count": 3,
    "currencies": [
      "USD"
    ],
    "prices_by_currency": [
      {
        "currency": "USD",
        "count": 5,
        "min": 40,
        "max": 100,
        "average": 67.5
      }
    ],
    "sale_count": 2,
    "discounts": {
      "min_percent": 20,
      "max_percent": 50,
      "average_percent": 35
    },
    "top_shops": [
      {
        "shop_id": "62696",
        "shop_name": "BILLY Footwear",
        "count": 2
      }
    ],
    "sampled_product_ids": [
      "8075903107261",
      "7093164834901"
    ]
  }
}

Request schema

No body schema

Response schema

#/definitions/shopapp.analysisResponseDoc

FieldTypeRequiredEnumBoundsExampleDescription
codeintegerNo200
datashopapp.AnalysisResponseNo
data.currenciesarrayNoUSD,GBP
data.discountsshopapp.DiscountSummaryNo
data.discounts.average_percentnumberNo24.6
data.discounts.max_percentnumberNo60
data.discounts.min_percentnumberNo10
data.groups_countintegerNo5
data.prices_by_currencyarrayNo
data.prices_by_currency[].averagenumberNo72.42
data.prices_by_currency[].countintegerNo12
data.prices_by_currency[].currencystringNoUSD
data.prices_by_currency[].maxnumberNo149.99
data.prices_by_currency[].minnumberNo35.9
data.products_countintegerNo20
data.querystringNosneakers
data.sale_countintegerNo6
data.sampled_product_idsarrayNo8075903107261,7093164834901
data.shops_countintegerNo8
data.top_shopsarrayNo
data.top_shops[].countintegerNo4
data.top_shops[].shop_idstringNo3961166
data.top_shops[].shop_namestringNoStart Fitness
msgstringNoOK

Code examples

Use environment variables for secrets and keep Crawlora API keys server-side.

curl -X GET "https://api.crawlora.net/api/v1/shop-app/analysis?query=sneakers&limit=20&in_stock=true&on_sale=false&deep_search=false" \
  -H "x-api-key: $CRAWLORA_API_KEY"

Responsible public web data workflows

Crawlora is designed for responsible structured public web data workflows. Customers are responsible for using Crawlora in compliance with applicable laws, third-party rights, target-platform rules, and Crawlora terms.

Read Crawlora terms

Related

More Shop.app endpoint docsShop.app scraper API platform pageCrawlora API pricingTry Analyze Shop.app query results API in PlaygroundList Shop.app categories API documentationGet Shop.app product API documentationList Shop.app related products API documentationList Shop.app product reviews API documentationGet the Shop.app shop for a product API documentationGet a Shop.app product variant by selected options API documentation
Open in PlaygroundBack to group