# Social Fetch API - Shopify endpoints # Base URL: https://api.socialfetch.dev # Auth: x-api-key header (sfk_...) # Full catalog: https://www.socialfetch.dev/llms-endpoints.txt | JSON: https://www.socialfetch.dev/llms.json # Docs hub: https://www.socialfetch.dev/docs/api | OpenAPI: https://www.socialfetch.dev/openapi.json 25 documented Shopify operations. Do not invent paths - only the routes below (and their linked markdown pages) are supported. ## GET /v1/shopify/store Get Shopify store Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/store/get.mdx SDK: client.shopify.getStore({ store: "www.allbirds.com" }) Parameters: - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - country (optional, string) - ISO 3166-1 alpha-2 country used for prices, currency and language, e.g. `GB`. Default: the store's own market. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/store?store=www.allbirds.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/store/policies Get Shopify store policies Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/store/policies/get.mdx SDK: client.shopify.getStorePolicies({ store: "www.allbirds.com" }) Parameters: - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - policy (optional, string, enum: privacy | refund | shipping | terms_of_service | terms_of_sale | subscription | contact | legal_notice) - One policy kind, or omit for all of them: `privacy`, `refund`, `shipping`, `terms_of_service`, `terms_of_sale`, `subscription`, `contact` or `legal_notice`. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/store/policies?store=www.allbirds.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/store/locations List Shopify store locations Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/store/locations/get.mdx SDK: client.shopify.listStoreLocations({ store: "0171d6-3.myshopify.com" }) Parameters: - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - limit (optional, integer) - Locations per page, 1 to 250. Default: 50. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/store/locations?store=0171d6-3.myshopify.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/store/menus/{handle} Get Shopify store menu Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/store/menus/handle/get.mdx SDK: client.shopify.getStoreMenu({ store: "www.allbirds.com", handle: "main-menu" }) Parameters: - handle (required, string) - The menu handle, as it appears in its URL, e.g. `main-menu`. - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/store/menus/main-menu?store=www.allbirds.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/store/redirects List Shopify store redirects Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/store/redirects/get.mdx SDK: client.shopify.listStoreRedirects({ store: "www.allbirds.com" }) Parameters: - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - limit (optional, integer) - Redirects per page, 1 to 250. Default: 50. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/store/redirects?store=www.allbirds.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/store/sitemap List Shopify store sitemap Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/store/sitemap/get.mdx SDK: client.shopify.listStoreSitemap({ store: "www.allbirds.com", type: "product" }) Parameters: - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - type (optional, string, enum: product | collection | page | blog | article | metaobject_page | agentic_discovery) - The child sitemap to return: `product`, `collection`, `page`, `blog`, `article`, `metaobject_page` or `agentic_discovery`. Omit for the sitemap index. - page (optional, integer) - Child sitemap page, 1 to 10,000. Default: 1. - locale (optional, string) - The locale path prefix, e.g. `de-ch`. Omit for the root locale. - limit (optional, integer) - Entries per page, 1 to 250. Default: 250. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/store/sitemap?store=www.allbirds.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/products List Shopify store products Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/products/get.mdx SDK: client.shopify.listProducts({ store: "www.allbirds.com", sort: "best_selling" }) Parameters: - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - query (optional, string) - The store's own product query, e.g. `product_type:Shoes AND tag:sale`. - sort (optional, string, enum: best_selling | created | updated | price | title | vendor | product_type | relevance) - Order: `best_selling`, `created`, `updated`, `price`, `title`, `vendor`, `product_type` or `relevance`. `relevance` needs the `query` parameter. Default: the store's own order. - reverse (optional, boolean) - Reverse the sort order. - available (optional, boolean) - Only products with an available variant. - createdAfter (optional, string) - Only products created at or after this time, as an ISO 8601 date or time (such as `2026-01-31`) or epoch seconds. A time with no zone is UTC. - createdBefore (optional, string) - Only products created before this time, as an ISO 8601 date or time (such as `2026-01-31`) or epoch seconds. A time with no zone is UTC. - limit (optional, integer) - Rows per page, 1 to 250. Default: 50. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. - country (optional, string) - ISO 3166-1 alpha-2 country used for prices, currency and language, e.g. `GB`. Default: the store's own market. - language (optional, string) - Two-letter language code, e.g. `EN`. Default: the store's own language. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/products?store=www.allbirds.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/products/{handle} Get Shopify product Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/products/handle/get.mdx SDK: client.shopify.getProduct({ store: "www.allbirds.com", handle: "mens-wool-runners" }) Parameters: - handle (required, string) - The product handle, as it appears in its URL. - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - country (optional, string) - ISO 3166-1 alpha-2 country used for prices, currency and language, e.g. `GB`. Default: the store's own market. - language (optional, string) - Two-letter language code, e.g. `EN`. Default: the store's own language. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/products/mens-wool-runners?store=www.allbirds.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/products/{handle}/recommendations Get Shopify product recommendations Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/products/handle/recommendations/get.mdx SDK: client.shopify.listProductRecommendations({ store: "www.allbirds.com", handle: "mens-wool-runners" }) Parameters: - handle (required, string) - The product handle, as it appears in its URL. - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - intent (optional, string, enum: related | complementary) - `related` (default) or `complementary`. - country (optional, string) - ISO 3166-1 alpha-2 country used for prices, currency and language, e.g. `GB`. Default: the store's own market. - language (optional, string) - Two-letter language code, e.g. `EN`. Default: the store's own language. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/products/mens-wool-runners/recommendations?store=www.allbirds.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/products/batch Get several Shopify products Credit cost: 1 credit per product handle. Up to 25 handles per request. Max 25 credits. A handle the store does not know is still charged. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/products/batch/get.mdx SDK: client.shopify.getProductsBatch({ store: "www.allbirds.com", handles: "mens-wool-runners,mens-tree-runners" }) Parameters: - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - handles (required, array) - Product handles, comma-separated, 1 to 25. Duplicates are dropped and order is kept. - country (optional, string) - ISO 3166-1 alpha-2 country used for prices, currency and language, e.g. `GB`. Default: the store's own market. - language (optional, string) - Two-letter language code, e.g. `EN`. Default: the store's own language. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/products/batch?store=www.allbirds.com&handles=mens-wool-runners,mens-tree-runners" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/products/{handle}/metafields Get Shopify product metafields Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/products/handle/metafields/get.mdx SDK: client.shopify.getProductMetafields({ store: "www.allbirds.com", handle: "mens-wool-runners", keys: "reviews.rating" }) Parameters: - handle (required, string) - The product handle, as it appears in its URL. - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - keys (optional, array) - Metafield keys as `namespace.key`, comma-separated, up to 25. Defaults are `reviews.rating`, `reviews.rating_count`, `shopify.color-pattern`, `global.title_tag`, `global.description_tag` and `custom.color`. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/products/mens-wool-runners/metafields?store=www.allbirds.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/products/{handle}/availability List Shopify pickup availability Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/products/handle/availability/get.mdx SDK: client.shopify.listProductAvailability({ store: "www.allbirds.com", handle: "mens-wool-runners" }) Parameters: - handle (required, string) - The product handle, as it appears in its URL. - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - limit (optional, integer) - Variants per page, 1 to 250. Default: 10. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/products/mens-wool-runners/availability?store=www.allbirds.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/collections List Shopify store collections Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/collections/get.mdx SDK: client.shopify.listCollections({ store: "www.allbirds.com" }) Parameters: - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - limit (optional, integer) - Rows per page, 1 to 250. Default: 50. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/collections?store=www.allbirds.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/collections/{handle} Get Shopify collection Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/collections/handle/get.mdx SDK: client.shopify.getCollection({ store: "000000band.myshopify.com", handle: "general-clothes-example-products" }) Parameters: - handle (required, string) - The collection handle, as it appears in its URL. - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - country (optional, string) - ISO 3166-1 alpha-2 country used for prices, currency and language, e.g. `GB`. Default: the store's own market. - language (optional, string) - Two-letter language code, e.g. `EN`. Default: the store's own language. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/collections/general-clothes-example-products?store=000000band.myshopify.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/collections/{handle}/products List Shopify collection products Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/collections/handle/products/get.mdx SDK: client.shopify.listCollectionProducts({ store: "000000band.myshopify.com", handle: "general-clothes-example-products" }) Parameters: - handle (required, string) - The collection handle, as it appears in its URL. - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - sort (optional, string, enum: collection_default | best_selling | created | price | title) - `collection_default`, `best_selling`, `created`, `price` or `title`. A collection cannot be ordered by vendor or product type on Shopify; filter on them instead. - reverse (optional, boolean) - Reverse the sort order. - available (optional, boolean) - Only products with an available variant. - priceMin (optional, number) - Lowest price to include. - priceMax (optional, number) - Highest price to include. - productType (optional, string) - Product type. - vendor (optional, string) - The product vendor to filter by. - tag (optional, string) - The product tag to filter by. - limit (optional, integer) - Rows per page, 1 to 250. Default: 50. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. - country (optional, string) - ISO 3166-1 alpha-2 country used for prices, currency and language, e.g. `GB`. Default: the store's own market. - language (optional, string) - Two-letter language code, e.g. `EN`. Default: the store's own language. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/collections/general-clothes-example-products/products?store=000000band.myshopify.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/search Search Shopify store Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/search/get.mdx SDK: client.shopify.search({ store: "www.allbirds.com", query: "shirt" }) Parameters: - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - query (required, string) - What to search for in the store. - type (optional, string, enum: product | article | page) - Restrict the search to `product`, `article` or `page`. Default: all three. - available (optional, boolean) - Only products with an available variant. - priceMin (optional, number) - Lowest product price to include. - priceMax (optional, number) - Highest product price to include. - limit (optional, integer) - Rows per page, 1 to 250. Default: 50. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. - country (optional, string) - ISO 3166-1 alpha-2 country used for prices, currency and language, e.g. `GB`. Default: the store's own market. - language (optional, string) - Two-letter language code, e.g. `EN`. Default: the store's own language. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/search?store=www.allbirds.com&query=shirt" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/search/suggest Get Shopify search suggestions Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/search/suggest/get.mdx SDK: client.shopify.suggestSearch({ store: "www.allbirds.com", query: "shirt" }) Parameters: - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - query (required, string) - The partial query to suggest completions for. - limit (optional, integer) - Rows per page, 1 to 10. Default: 10. - country (optional, string) - ISO 3166-1 alpha-2 country used for prices, currency and language, e.g. `GB`. Default: the store's own market. - language (optional, string) - Two-letter language code, e.g. `EN`. Default: the store's own language. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/search/suggest?store=www.allbirds.com&query=shirt" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/pages List Shopify store pages Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/pages/get.mdx SDK: client.shopify.listPages({ store: "www.allbirds.com" }) Parameters: - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - limit (optional, integer) - Rows per page, 1 to 250. Default: 50. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/pages?store=www.allbirds.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/pages/{handle} Get Shopify page Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/pages/handle/get.mdx SDK: client.shopify.getPage({ store: "www.allbirds.com", handle: "careers" }) Parameters: - handle (required, string) - The page handle, as it appears in its URL. - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/pages/careers?store=www.allbirds.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/blogs List Shopify store blogs Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/blogs/get.mdx SDK: client.shopify.listBlogs({ store: "www.allbirds.com" }) Parameters: - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - limit (optional, integer) - Blogs per page, 1 to 250. Default: 20. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/blogs?store=www.allbirds.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/blogs/{blogHandle}/articles List Shopify blog articles Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/blogs/bloghandle/articles/get.mdx SDK: client.shopify.listArticles({ store: "www.allbirds.com", blogHandle: "news" }) Parameters: - blogHandle (required, string) - The blog handle, as it appears in its URL, e.g. `news`. - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - limit (optional, integer) - Articles per page, 1 to 250. Default: 10. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/blogs/news/articles?store=www.allbirds.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/blogs/{blogHandle}/articles/{handle} Get Shopify article Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/blogs/bloghandle/articles/handle/get.mdx SDK: client.shopify.getArticle({ store: "www.allbirds.com", blogHandle: "news", handle: "allbirds-uber-eats-press-release" }) Parameters: - blogHandle (required, string) - The blog handle, as it appears in its URL, e.g. `news`. - handle (required, string) - The article handle, as it appears in its URL. - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - commentLimit (optional, integer) - Comments per page, 1 to 250. Default: 50. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/blogs/news/articles/allbirds-uber-eats-press-release?store=www.allbirds.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/products/{handle}/reviews List Shopify product reviews Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/products/handle/reviews/get.mdx SDK: client.shopify.listProductReviews({ store: "colourpop.com", handle: "bae-eyeshadow", sort: "newest" }) Parameters: - handle (required, string) - The product handle, as it appears in its URL. - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - limit (optional, integer) - Reviews per page, 1 to 250. Default: 25. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. - sort (optional, string, enum: newest | rating | helpful | with_photos) - `newest` (default), `rating`, `helpful` or `with_photos`. A sort the store's reviews do not support is ignored. - rating (optional, integer) - Only reviews with this star rating, 1 to 5. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/products/bae-eyeshadow/reviews?store=colourpop.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/products/{handle}/reviews/summary Get Shopify product review summary Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/products/handle/reviews/summary/get.mdx SDK: client.shopify.getProductReviewSummary({ store: "colourpop.com", handle: "bae-eyeshadow" }) Parameters: - handle (required, string) - The product handle, as it appears in its URL. - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/products/bae-eyeshadow/reviews/summary?store=colourpop.com" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/shopify/store/reviews List Shopify store reviews Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/shopify/store/reviews/get.mdx SDK: client.shopify.listStoreReviews({ store: "colourpop.com" }) Parameters: - store (required, string) - The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted. - limit (optional, integer) - Reviews per page, 1 to 250. Default: 25. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. - sort (optional, string, enum: newest | rating | helpful | with_photos) - `newest` (default), `rating`, `helpful` or `with_photos`. A sort the store's reviews do not support is ignored. - rating (optional, integer) - Only reviews with this star rating, 1 to 5. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found`, `private`, `restricted` curl "https://api.socialfetch.dev/v1/shopify/store/reviews?store=colourpop.com" \ -H "x-api-key: YOUR_API_KEY"