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. /List Shop.app shop products API

Shop.app API endpoint

List Shop.app shop products API

Use Crawlora's List Shop.app shop products 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.shopProductsResponseDoc/shop-app/shops/{handle}/products

Endpoint facts

Method
GET
API path
/shop-app/shops/{handle}/products
Auth
apiKey
Credits
5 credits/request
Platform
Shop.app
Response schema
#/definitions/shopapp.shopProductsResponseDoc

Overview

Returns public product cards from a Shop.app merchant profile. sort_by allowed values: MOST_SALES, PRICE_LOW_TO_HIGH, PRICE_HIGH_TO_LOW, RELEVANCE. 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 List Shop.app shop products 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
handle (path)stringYesShop handlemarcnolan
limitintegerNo30 and supports up to 60Maximum products, defaults to 30 and supports up to 6030
sort_bystringNoSort mode Allowed values: MOST_SALES, PRICE_LOW_TO_HIGH, PRICE_HIGH_TO_LOW, RELEVANCEMOST_SALES
in_stockbooleanNoRequest in-stock productstrue
x-api-key (header)stringYesAPI key required

cURL example

curl -X GET "https://api.crawlora.net/api/v1/shop-app/shops/marcnolan/products?limit=30&sort_by=MOST_SALES&in_stock=true" \
  -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

- Invalid `sort_by` values return invalid-param errors before upstream IO. - Blocked pages, malformed route data, and empty parsed products return an upstream error. Example response: ```json { "code": 200, "msg": "OK", "data": { "shop_handle": "marcnolan", "sort_by": "MOST_SALES", "products": [ {"id": "4796042281039", "title": "Aiden Black Leather Combat Boots", "position": 1} ] } } ```

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": {
    "shop_handle": "marcnolan",
    "sort_by": "MOST_SALES",
    "products": [
      {
        "id": "4796042281039",
        "title": "Aiden Black Leather Combat Boots",
        "position": 1
      }
    ]
  }
}

Request schema

No body schema

Response schema

#/definitions/shopapp.shopProductsResponseDoc

FieldTypeRequiredEnumBoundsExampleDescription
codeintegerNo200
datashopapp.ShopProductsResponseNo
data.collectionshopapp.ShopCollectionNo
data.collection.idstringNo292518002767
data.collection.slugstringNomens-dress-shoes
data.collection.titlestringNoMens Dress Shoes
data.collection.urlstringNo
data.collection_idstringNo292518002767
data.limitintegerNo30
data.next_cursorstringNo
data.productsarrayNo
data.products[].currencystringNoUSD
data.products[].group_querystringNokids' athletic sneakers
data.products[].group_titlestringNokids' athletic sneakers
data.products[].idstringNo8075903107261
data.products[].imagestringNohttps://cdn.shopify.com/s/files/1/1145/5784/files/example.jpg
data.products[].image_altstringNoBlack sneaker side view
data.products[].on_salebooleanNo
data.products[].original_pricenumberNo120
data.products[].positionintegerNo1
data.products[].pricenumberNo100
data.products[].shop_idstringNo62696
data.products[].shop_namestringNoBILLY Footwear
data.products[].titlestringNoBlack/Black/Gum BILLY Sport Inclusion DZ1
data.products[].urlstringNohttps://billyfootwear.com/products/black-black-gum-billy-sport-inclusion-dz1-zipper-shoes?utm_source=shop_app
data.products[].variant_idstringNo46242960965821
data.shop_handlestringNomarcnolan
data.sort_bystringNoMOST_SALES
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/shops/marcnolan/products?limit=30&sort_by=MOST_SALES&in_stock=true" \
  -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 List Shop.app shop products API in PlaygroundAnalyze Shop.app query results API documentationList 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 documentation
Open in PlaygroundBack to group