将公开的 Shopify 店铺 JSON 和站点地图接口转换为结构化数据,用于目录监控、选品研究、产品发现和店铺情报工作流。
Structured output
使用 Crawlora 的 Shopify 店铺数据抓取 API,无需维护 Shopify 专属的请求处理、URL 规范化、解析器、计费或开发者文档,即可采集支持范围内的公开店铺 JSON、商品、系列、页面、推荐、预测搜索和站点地图记录。
电商工作流
当团队需要可重现的结构化记录而非手动浏览店铺时,Shopify 店铺数据可以支撑公开目录发现、商品监控、系列研究、搜索建议分析、页面发现和站点地图审计。
Shopify 店铺情报Request schema
These parameters come from the active Get Shopify store metadata catalog entry.
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| url | string | Yes | Shopify storefront URL | - |
Example JSON
This example is rendered from the active endpoint catalog so the page stays aligned with Docs and Playground.
{
"code": 200,
"msg": "OK",
"data": {
"requested_url": "https://www.allbirds.com",
"source_url": "https://www.allbirds.com",
"domain": "www.allbirds.com",
"source_domain": "www.allbirds.com",
"name": "Allbirds",
"currency": "USD",
"country": "US",
"published_products_count": 638
}
}Endpoint catalog
/shopify/storeResolves a public Shopify storefront and returns normalized metadata from credential-free storefront JSON. If the vanity domain blocks `/products.json`, the service may fall back to a public `*.myshopify.com` domain discovered from the storefront page.
Response notes
- Returns the requested storefront URL plus the resolved source URL used for JSON requests. - Includes `myshopify_domain`, store name, currency, country, and published product/collection counts when `/meta.json` exposes them. - Blocked pages, malformed JSON, missing Shopify roots, and unavailable fallback domains return upstream errors. - If the classic `/products.json` endpoint and `*.myshopify.com` domain resolution are both unavailable (some headless Next.js/React storefronts on a Shopify catalog do not expose either), the service falls back to fetching the storefront's own pages directly and parsing their embedded structured data. When this fallback was used, `transport_mode` is `ssr_embedded`; it is omitted entirely for stores served by the classic catalog JSON. Fallback-mode responses may have fewer populated fields (for example `myshopify_domain` and the `/meta.json`-sourced fields are typically unavailable) since `/meta.json` is also unavailable on these storefronts. `transport_mode` allowed values: `ssr_embedded` (only ever present, never any other value; omitted for the classic transport). Example response: ```json { "code": 200, "msg": "OK", "data": { "requested_url": "https://www.allbirds.com", "source_url": "https://www.allbirds.com", "domain": "www.allbirds.com", "source_domain": "www.allbirds.com", "name": "Allbirds", "currency": "USD", "country": "US", "published_products_count": 638 } } ```
MCP tool shopify_store
/shopify/productsReturns normalized products from a public Shopify `/products.json` endpoint. Valid empty result pages return `200` with an empty products array. `sortBy` and dynamic facet-filter query params (e.g. `fit`, `canonicalColour`) only take effect for headless storefronts served via the embedded-SSR-JSON fallback transport (`transport_mode: "ssr_embedded"`) and return an invalid-param error if supplied against a classic-transport store, since Shopify's classic public catalog JSON has no server-side sort or filter support.
Response notes
- Valid empty result pages return `200` with an empty `products` array. - Product prices are normalized to decimal currency units. - Blocked pages, malformed JSON, and missing `products` roots return upstream errors. - If the classic `/products.json` endpoint and `*.myshopify.com` domain resolution are both unavailable (some headless Next.js/React storefronts on a Shopify catalog do not expose either), the service falls back to the storefront's own conventional "all products" collection page (`/collections/all`) and parses its embedded search-result payload. When this fallback was used, the response includes `transport_mode: "ssr_embedded"`, `total_items`, and `total_pages` (the storefront's own result-count/page-count metadata), and each product may include additive fields only available from this source: `colour`, `canonical_colour`, `discount_percentage`, `rating`, `rating_count`, `collection_tags`, `labels`, and per-variant `inventory_quantity`. `limit` is still honored as an upper bound on returned items, but the underlying page size is fixed by the storefront (commonly 60) and cannot be requested larger than that in fallback mode. `transport_mode`, `total_items`, and `total_pages` are omitted entirely for stores served by the classic catalog JSON. - When the `ssr_embedded` fallback was used, the response may also include `facets` and `facets_stats`, mirroring the storefront's own filter sidebar for that listing: `facets` maps a facet field name exactly as the storefront names it (for example `fit`, `activities`, `canonicalColour`, `sizeInStock`) to its value-to-count buckets, and `facets_stats` gives `min`/`max`/`avg` for numeric-range fields such as `price` and `discountPercentage`. Both are omitted when the storefront's payload did not include facet data, and always omitted for the classic transport. - **Sort and filters are SSR-fallback only.** Shopify's classic public `/products.json` catalog feed has no server-side sort or filter support at all — confirmed live: requesting the same store's classic JSON with a sort applied returns byte-identical product order to the unsorted request. Rather than silently accepting and ignoring `sortBy` or a facet filter against a classic-transport store (which would look like it worked but wouldn't), this endpoint rejects the request with a `400` invalid-param error whenever `sortBy` or any facet-filter query param is supplied and the resolved store is not `transport_mode: "ssr_embedded"`. - When a sort and/or filters were applied on the SSR-fallback transport, the response echoes back what was actually honored: `sort` (one of the enum values below) and `filters` (a map of facet field name to the array of values that were requested for it, after comma-splitting). Both are omitted when no sort/filter was supplied. - `hitsPerPage` (the storefront's own listing page size, commonly 60) is unaffected by sort/filters; `limit` continues to apply as an upper bound on the returned page. `sortBy` allowed values: `sortLTH`, `sortHTL`, `newest`. `transport_mode` allowed values: `ssr_embedded` (only ever present, never any other value; omitted for the classic transport). Example response: ```json { "code": 200, "msg": "OK", "data": { "store_url": "https://www.allbirds.com", "source_url": "https://www.allbirds.com", "page": 1, "limit": 2, "products": [ { "id": "7188363542608", "handle": "mens-tree-runner-nz-natural-white", "title": "Men's Tree Runner NZ - Natural White (Natural White Sole)", "url": "https://www.allbirds.com/products/mens-tree-runner-nz-natural-white", "price": 100, "available": true } ] } } ```
MCP tool shopify_products
/shopify/products/{handle}Returns normalized product detail from Shopify's credential-free product handle `.js` endpoint.
Response notes
- Product prices from `.js` responses are normalized from cent values to decimal currency units. - Missing product handles return `404` when Shopify returns not found. - Blocked pages, malformed JSON, and missing product fields return upstream errors. - If the classic product `.js` endpoint and `*.myshopify.com` domain resolution are both unavailable (some headless Next.js/React storefronts on a Shopify catalog do not expose either), the service falls back to fetching the product detail page directly and parsing its embedded structured data — preferring a richer Next.js data block when the storefront exposes one, and falling back further to the page's schema.org JSON-LD `ProductGroup`/`Product` block otherwise. When this fallback was used, the response includes `transport_mode: "ssr_embedded"`, and the product may include additive fields only available from this source: `colour`, `canonical_colour`, `discount_percentage`, `rating`, `rating_count`, `collection_tags`, `labels`, and per-variant `inventory_quantity`. `transport_mode` is omitted entirely for stores served by the classic product `.js` endpoint. A product page that carries neither the richer data block nor a matching JSON-LD block returns an upstream error. `transport_mode` allowed values: `ssr_embedded` (only ever present, never any other value; omitted for the classic transport). Example response: ```json { "code": 200, "msg": "OK", "data": { "store_url": "https://www.allbirds.com", "source_url": "https://www.allbirds.com", "product": { "id": "7188363542608", "handle": "mens-tree-runner-nz-natural-white", "title": "Men's Tree Runner NZ - Natural White (Natural White Sole)", "price": 100, "images": [{"url": "https://cdn.shopify.com/example.jpg"}] } } } ```
MCP tool shopify_product
/shopify/products/{handle}/recommendationsReturns normalized recommended products from Shopify's credential-free recommendations Ajax endpoint. The route handle is resolved to a Shopify product id before fetching recommendations.
Response notes
- Missing product handles return `404` when Shopify returns not found while resolving the seed product. - Valid empty recommendation arrays return `200` with an empty `products` array. - Blocked pages, malformed JSON, and missing Shopify roots return upstream errors. - If the classic recommendations endpoint and `*.myshopify.com` domain resolution are both unavailable (some headless Next.js/React storefronts on a Shopify catalog do not expose either), the service falls back to fetching the seed product's own detail page (recommendations are embedded there) and parses its embedded recommendation carousels. When this fallback was used, the response includes `transport_mode: "ssr_embedded"`, and each product may include the same additive fields documented for `/shopify/products`: `colour`, `canonical_colour`, `discount_percentage`, `rating`, `rating_count`, `collection_tags`, `labels`, and per-variant `inventory_quantity`. `transport_mode` is omitted entirely for stores served by the classic endpoint. `transport_mode` allowed values: `ssr_embedded` (only ever present, never any other value; omitted for the classic transport).
MCP tool shopify_product_recommendations
/shopify/collectionsReturns normalized collections from a public Shopify `/collections.json` endpoint. Valid empty result pages return `200` with an empty collections array.
Response notes
- Valid empty result pages return `200` with an empty `collections` array. - Blocked pages, malformed JSON, and missing `collections` roots return upstream errors. - If the classic `/collections.json` endpoint and `*.myshopify.com` domain resolution are both unavailable (some headless Next.js/React storefronts on a Shopify catalog do not expose either), the service falls back to enumerating collections from the storefront's own `collections` sitemap. When this fallback was used, the response includes `transport_mode: "ssr_embedded"`, and `title` is a best-effort derivation from the handle (hyphens become spaces, each word title-cased) — **not** the storefront's real display name, since no other source for it exists in this mode. `products_count` and other classic-only fields are omitted, never fabricated. `transport_mode` is omitted entirely for stores served by the classic catalog JSON. - In this fallback mode, `handle` is derived from the last path segment of the collection URL and is not guaranteed unique: some storefronts nest gender/audience-scoped sub-collections under the same final segment (for example `/collections/all-products/womens` and `/collections/legacy/womens` both derive `handle: "womens"`). Use the item's own `url` to identify a specific nested collection rather than assuming `handle` alone round-trips through `GET /shopify/collections/{handle}/products`. `transport_mode` allowed values: `ssr_embedded` (only ever present, never any other value; omitted for the classic transport). Example response: ```json { "code": 200, "msg": "OK", "data": { "store_url": "https://www.allbirds.com", "source_url": "https://www.allbirds.com", "page": 1, "limit": 2, "collections": [ { "id": "278435758160", "handle": "mens", "title": "Men", "url": "https://www.allbirds.com/collections/mens", "products_count": 24 } ] } } ```
MCP tool shopify_collections
/shopify/collections/{handle}/productsReturns normalized products from a public Shopify collection `/products.json` endpoint. `sortBy` and dynamic facet-filter query params (e.g. `fit`, `canonicalColour`) only take effect for headless storefronts served via the embedded-SSR-JSON fallback transport (`transport_mode: "ssr_embedded"`) and return an invalid-param error if supplied against a classic-transport store, since Shopify's classic public catalog JSON has no server-side sort or filter support.
Response notes
- Valid empty result pages return `200` with an empty `products` array. - Missing collections return `404` when Shopify returns not found. - Blocked pages, malformed JSON, and missing `products` roots return upstream errors. - If the classic collection `/products.json` endpoint and `*.myshopify.com` domain resolution are both unavailable (some headless Next.js/React storefronts on a Shopify catalog do not expose either), the service falls back to fetching the collection listing page directly (`/collections/{handle}`) and parsing its embedded search-result payload. When this fallback was used, the response includes `transport_mode: "ssr_embedded"`, `total_items`, and `total_pages` (the storefront's own result-count/page-count metadata), and each product may include additive fields only available from this source: `colour`, `canonical_colour`, `discount_percentage`, `rating`, `rating_count`, `collection_tags`, `labels`, and per-variant `inventory_quantity`. `limit` is still honored as an upper bound on returned items, but the underlying page size is fixed by the storefront (commonly 60) and cannot be requested larger than that in fallback mode. `transport_mode`, `total_items`, and `total_pages` are omitted entirely for stores served by the classic catalog JSON. - When the `ssr_embedded` fallback was used, the response may also include `facets` and `facets_stats`, mirroring the collection page's own filter sidebar: `facets` maps a facet field name exactly as the storefront names it (for example `fit`, `activities`, `canonicalColour`, `sizeInStock`) to its value-to-count buckets, and `facets_stats` gives `min`/`max`/`avg` for numeric-range fields such as `price` and `discountPercentage`. Both are omitted when the storefront's payload did not include facet data, and always omitted for the classic transport. - **Sort and filters are SSR-fallback only.** Shopify's classic public collection `/products.json` catalog feed has no server-side sort or filter support at all — confirmed live: requesting the same store's classic JSON with a sort applied returns byte-identical product order to the unsorted request. Rather than silently accepting and ignoring `sortBy` or a facet filter against a classic-transport store (which would look like it worked but wouldn't), this endpoint rejects the request with a `400` invalid-param error whenever `sortBy` or any facet-filter query param is supplied and the resolved store is not `transport_mode: "ssr_embedded"`. - When a sort and/or filters were applied on the SSR-fallback transport, the response echoes back what was actually honored: `sort` (one of the enum values below) and `filters` (a map of facet field name to the array of values that were requested for it, after comma-splitting). Both are omitted when no sort/filter was supplied. - `hitsPerPage` (the storefront's own listing page size, commonly 60) is unaffected by sort/filters; `limit` continues to apply as an upper bound on the returned page. `sortBy` allowed values: `sortLTH`, `sortHTL`, `newest`. `transport_mode` allowed values: `ssr_embedded` (only ever present, never any other value; omitted for the classic transport). Example response: ```json { "code": 200, "msg": "OK", "data": { "store_url": "https://www.allbirds.com", "source_url": "https://www.allbirds.com", "collection": "mens", "page": 1, "limit": 2, "products": [ { "handle": "mens-dasher-nz-ochre", "title": "Men's Tree Dasher 2", "price": 135 } ] } } ```
MCP tool shopify_collection_products
/shopify/search/suggestReturns products, collections, and query suggestions from Shopify's credential-free predictive search Ajax endpoint.
Response notes
- Products and collections are normalized to the same shapes used by the Shopify product and collection endpoints. - Query suggestions include text and a storefront search URL when Shopify provides one. - Valid empty suggestion arrays return `200` with empty arrays. - Blocked pages, malformed JSON, and missing Shopify roots return upstream errors.
MCP tool shopify_search_suggest
/shopify/pagesReturns normalized static pages from a public Shopify `/pages.json` endpoint. Page body HTML is returned as cleaned text only.
Response notes
- Page content is cleaned text from Shopify `body_html`; raw HTML is not returned. - Valid empty page arrays return `200` with an empty `pages` array. - Blocked pages, malformed JSON, and missing Shopify roots return upstream errors. - If the classic `/pages.json` endpoint and `*.myshopify.com` domain resolution are both unavailable (some headless Next.js/React storefronts on a Shopify catalog do not expose either), the service falls back to enumerating page handles from the storefront's own `pages` sitemap. When this fallback was used, the response includes `transport_mode: "ssr_embedded"`, and each item only carries `handle`, `url`, and `updated_at` — no `title`, `id`, or `content`. Call `GET /shopify/pages/{handle}` per handle to get full content; this trade-off avoids an unbounded per-page fetch fan-out for large stores. `transport_mode` is omitted entirely for stores served by the classic catalog JSON. `transport_mode` allowed values: `ssr_embedded` (only ever present, never any other value; omitted for the classic transport).
MCP tool shopify_pages
/shopify/pages/{handle}Returns normalized page detail from Shopify's credential-free `/pages/{handle}.json` endpoint. Page body HTML is returned as cleaned text only.
Response notes
- Page content is cleaned text from Shopify `body_html`; raw HTML is not returned. - Missing page handles return `404` when Shopify returns not found. - Blocked pages, malformed JSON, and missing Shopify roots return upstream errors. - If the classic `/pages/{handle}.json` endpoint and `*.myshopify.com` domain resolution are both unavailable (some headless Next.js/React storefronts on a Shopify catalog do not expose either), the service falls back to fetching the page's own HTML and parsing an embedded Contentful CMS entry. When this fallback was used, the response includes `transport_mode: "ssr_embedded"`; `content` is plain text rendered from the page's Contentful rich-text blocks (marks/formatting are dropped, non-rich-text blocks such as banners are skipped), and `id` is omitted because the source id is a Contentful entry id, not a Shopify numeric id. `transport_mode` is omitted entirely for stores served by the classic endpoint. `transport_mode` allowed values: `ssr_embedded` (only ever present, never any other value; omitted for the classic transport).
MCP tool shopify_page
/shopify/sitemapsReturns child sitemap URLs from a public Shopify `/sitemap.xml` index with inferred sitemap types.
Response notes
- Sitemap `type` is inferred from the child sitemap URL. - Inferred sitemap types are `products`, `collections`, `pages`, `blogs`, `agentic_discovery`, and `other`. - Blocked pages, malformed XML, and missing sitemap entries return upstream errors.
MCP tool shopify_sitemaps
/shopify/sitemap/urlsFetches capped URL entries from Shopify child sitemaps matching the requested type.
Response notes
- The service fetches matching child sitemaps from `/sitemap.xml` until `limit` URL entries is reached. - URL entries include `loc`, inferred `type`, `handle`, `lastmod`, `changefreq`, and optional `images`. - Blocked pages, malformed XML, and missing sitemap entries return upstream errors.
MCP tool shopify_sitemap_urls
Managed execution
Crawlora 将支持的公开 Shopify 店铺 JSON 和站点地图流程封装为受 API 密钥保护的端点,提供规范化响应、文档化错误、Playground 示例以及基于额度的用量计费。
针对店铺、商品、系列、页面、推荐、搜索建议和站点地图流程的端点专属请求处理
拒绝 localhost、私有网络、link-local 及带凭证 URL 的 URL 校验
在可获取的范围内提供规范化的商品、系列、页面、推荐和站点地图字段
针对在发现的 myshopify.com 域名上暴露公开数据的店铺进行源 URL 解析
针对被拦截、格式错误、未找到或缺失根路径的响应提供文档化的上游故障行为
Docs 和 Playground 页面均由当前活跃的端点目录生成
Build or buy
Use this comparison to decide whether to maintain scraping infrastructure internally or call a managed endpoint.
| Requirement | Building internally | Crawlora |
|---|---|---|
| 端点覆盖范围 | 需要为店铺元数据、商品、系列、页面、推荐和搜索建议分别维护采集器。 | 通过一个 Crawlora API 界面使用文档化的 Shopify 店铺端点系列。 |
| URL 与来源处理 | 需要自行校验不可信的店铺 URL,并自行实现公开源域名的回退逻辑。 | 使用 Crawlora 的校验和端点专属的源 URL 处理。 |
| 架构规范化 | 需要自行设计商品、系列、页面和推荐模型。 | 在 Docs 和 Playground 中获取规范化的 JSON 示例和架构。 |
| 用量计费 | 需要自建计量和按流程定价模型。 | 使用基于额度的端点权重和 API 密钥用量跟踪。 |
Crawlora 并非 Shopify 官方的 Admin API、Storefront API、Checkout API 或 Partner API。Crawlora 为支持的公开 Shopify 店铺页面、JSON 和站点地图流程提供结构化网络公开数据提取端点。如果你的用例需要账号维度的商务数据、订单、结账、客户记录、库存管理、商户管理或官方应用集成,请使用 Shopify 官方 API。客户需自行确保其使用符合适用法律、第三方权利、平台条款、商户条款及 Crawlora 条款。
Related APIs
Connect this endpoint with adjacent Crawlora search, monitoring, docs, and pricing pages.
How to scrape Shopify
Crawlora 的 Shopify 端点是 GET 请求,接受任意公开店铺的 url,读取 Shopify 无需凭证的公开接口:/shopify/store 解析店铺并返回元数据,/shopify/products 和 /shopify/collections 读取公开的 products.json 和 collections.json 接口(支持 page 和 limit),/shopify/collections/{handle}/products 遍历某个系列,/shopify/products/{handle} 通过 handle 的 .js 端点返回商品详情,/shopify/products/{handle}/recommendations 读取推荐 Ajax 接口(intent 为 related 或 complementary),/shopify/search/suggest 读取预测搜索,/shopify/pages 和 /shopify/pages/{handle} 将静态页面读取为清洗后的文本,/shopify/sitemaps 和 /shopify/sitemap/urls 遍历站点地图索引。对于没有经典接口的无头店铺,会回退读取店铺自身内嵌的搜索数据,从而额外提供 facets、sortBy 和分面筛选参数。
GET /shopify/store?url=<店铺 URL> 从无需凭证的店铺 JSON 中返回规范化的店铺元数据。如果自定义域名拦截了 products.json,服务可能会回退到店铺公开的 myshopify.com 域名。
GET /shopify/products?url=<店铺>&page=1&limit=<n> 获取公开商品信息流,/shopify/collections 获取系列列表,/shopify/collections/{handle}/products 获取某个系列的商品。空页面会返回 200 状态码及空数组,这就是判断是否已到末尾的方式。
GET /shopify/products/{handle}?url=<店铺> 获取完整商品详情,GET /shopify/products/{handle}/recommendations(intent=related 或 complementary)获取该店铺的关联推荐;handle 会自动为你解析为 Shopify 的商品 id。
GET /shopify/sitemaps?url=<店铺> 列出子站点地图及其推断出的类型,/shopify/sitemap/urls?type=products 遍历其条目,/shopify/search/suggest?q=<term> 读取预测搜索,/shopify/pages 及 /shopify/pages/{handle} 将静态页面返回为清洗后的文本。
FAQ
Answers for developers evaluating Crawlora for supported public search result pages.
是的。Crawlora 为支持的公开店铺元数据、商品、商品详情、推荐、系列、系列商品、页面、预测搜索建议、站点地图及站点地图 URL 提供 Shopify 端点。
不是。Crawlora 并非 Shopify 官方的 Admin API、Storefront API、Checkout API、Partner API,也不是商户应用集成。它为支持的 Shopify 店铺页面提供公开网络数据提取。
当前目录包括店铺元数据、公开商品、商品详情、推荐、系列、系列商品、公开页面、预测搜索建议、子站点地图,以及在支持范围内有条数上限的站点地图 URL 条目。
不能。Crawlora 的 Shopify 端点仅面向支持范围内的公开店铺数据。如需账号维度的商务、订单、结账、客户或库存管理工作流,请使用 Shopify 官方 API。
可以。在公开店铺数据可获取的情况下,Shopify 的商品、商品详情、系列和系列商品端点可以支撑负责任的目录监控。
可以。在可获取的情况下,Shopify 站点地图端点可以列出子站点地图条目,以及针对商品、系列、页面、博客、智能体可发现性等推断出的站点地图类型的、有条数上限的 URL 行。
将店铺 url 传给 Crawlora 的 /shopify/store 端点进行解析,然后调用 GET /shopify/products、/shopify/collections 和 /shopify/collections/{handle}/products 遍历目录,用 /shopify/products/{handle} 获取详情。无需 Shopify 凭证;这些端点读取的是 Shopify 公开的店铺 JSON。
通常适用。如果自定义域名拦截了该接口,服务可能会回退到公开的 myshopify.com 域名;对于完全没有该接口的无头店铺,会解析店铺自身内嵌的搜索数据,这同时也会暴露 facets、sortBy 和分面筛选参数。
只有在通过内嵌搜索回退机制提供服务的无头店铺上才可以,此时 sortBy 和分面筛选查询参数会被转发到店铺自身的搜索索引。经典店铺公开的 products.json 没有服务端排序或筛选功能,此时 /shopify/collections/{handle}/products 端点会返回一个类型化的 400 错误,而不是静默忽略这些参数。
对 /shopify/products/{handle}/recommendations 端点传入店铺 url 及 intent=related 或 intent=complementary。它会在将 handle 解析为商品 id 后,读取 Shopify 无需凭证的推荐 Ajax 接口。
这些端点读取的是 Shopify 无需凭证即可公开访问的店铺 JSON 和站点地图。在遵守店铺条款、速率限制和适用法律的前提下,为研究、监控和选品分析目的采集这些数据通常是被允许的。
Company coverage
Shopify Inc. · SHOP
Shopify is operated by Shopify Inc. (SHOP). Crawlora's SEC endpoints take the same company's CIK, so filings, financials, insider transactions and 13F holdings come from the same API key as the Shopify endpoints above.
Other Shopify Inc. platforms in the catalog
Guides
Read Crawlora guides and comparisons that use the Shopify API.
在 Playground 中测试 Shopify 店铺元数据,在 Docs 中查看当前的响应架构,并在价格页面比较基于额度的用量。