Google Shopping API
Google Shopping API
- Price
- 0.025000 USDT / request
- Status
- Available
- Official reference
- 0.025000 USDT / request
- Protocols
- REST · MCP
Run a test
Runs are submitted only when you click Run. Check the input and cost limit first.
Tests use your account balance and the selected key’s budget. The cost limit caps this API call; it does not include future calls or recurring upstream jobs.
Run a test to see its status, charges and response here.
API reference
A successful asynchronous create call returns a receipt. Use the provider’s status/result operation with that receipt ID to check whether the upstream job has completed.
curl https://gw.asale.ai/v1/tool-runs \
-H 'Authorization: Bearer <ASALE_API_KEY>' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
-d '{
"tool": "search.google.shopping",
"input": {
"query": {
"q": ""
}
},
"max_cost_micros": 25000
}'curl https://gw.asale.ai/v1/tool-runs/<RUN_ID> -H 'Authorization: Bearer <ASALE_API_KEY>'| Parameter | Required | Type |
|---|---|---|
| query | Yes | object |
Full input schema
{
"additionalProperties": false,
"properties": {
"query": {
"additionalProperties": false,
"properties": {
"async": {
"description": "Parameter defines the way you want to submit your search to SerpApi. It can be set to `false` (default) to open an HTTP connection and keep it open until you got your search results, or `true` to just submit your search to SerpApi and retrieve them later. In this case, you'll need to use our [Searches Archive API](https://Asale.com/search-archive-api) to retrieve your results. `async` and `no_ca",
"type": [
"string",
"number",
"boolean"
]
},
"device": {
"description": "Parameter defines the device to use to get the results. It can be set to `desktop` (default) to use a regular browser, `tablet` to use a tablet browser (currently using iPads), or `mobile` to use a mobile browser.",
"type": [
"string",
"number",
"boolean"
]
},
"free_shipping": {
"description": "Show only products with free shipping. This parameter overrides corresponding filter embedded into `shoprs` parameter.",
"type": [
"string",
"number",
"boolean"
]
},
"gl": {
"description": "Parameter defines the country to use for the Google search. It's a two-letter country code. (e.g., `us` for the United States, `uk` for United Kingdom, or `fr` for France) Head to the [Google Shopping countries](https://Asale.com/google-shopping-countries) for a full list of supported Google Shopping countries.",
"type": [
"string",
"number",
"boolean"
]
},
"google_domain": {
"description": "Parameter defines the Google domain to use. It defaults to `google.com`. Head to the [Google domains](https://Asale.com/google-domains) for a full list of supported Google domains.",
"type": [
"string",
"number",
"boolean"
]
},
"hl": {
"description": "Parameter defines the language to use for the Google Shopping search. It's a two or three-letter language code. (e.g., `en` for English, `es` for Spanish, or `fr` for French), optionally followed by a two-letter or three-digit region code (e.g., `en-gb` for British English, or `es-419` for Latin American Spanish). Head to the [Google languages page](https://Asale.com/google-languages) for a full",
"type": [
"string",
"number",
"boolean"
]
},
"json_restrictor": {
"description": "Parameter defines the fields you want to include in the output, reducing payload size for faster response. See the [JSON Restrictor documentation](https://Asale.com/json-restrictor) for more details.",
"type": [
"string",
"number",
"boolean"
]
},
"location": {
"description": "Parameter defines from where you want the search to originate. If several locations match the location requested, we'll pick the most popular one. Head to the [/locations.json API](https://Asale.com/locations-api) if you need more precise control. The `location` and `uule` parameters can't be used together. It is recommended to specify `location` at the city level in order to simulate a real use",
"type": [
"string",
"number",
"boolean"
]
},
"max_price": {
"description": "Upper bound of price range query. This parameter overrides corresponding filter embedded into `shoprs` parameter.",
"type": [
"string",
"number",
"boolean"
]
},
"min_price": {
"description": "Lower bound of price range query. This parameter overrides corresponding filter embedded into `shoprs` parameter.",
"type": [
"string",
"number",
"boolean"
]
},
"no_cache": {
"description": "Parameter will force SerpApi to fetch the Google Shopping results even if a cached version is already present. A cache is served only if the query and all parameters are exactly the same. Cache expires after 1h. Cached searches are free, and are not counted towards your searches per month. It can be set to `false` (default) to allow results from the cache, or `true` to disallow results from the ca",
"type": [
"string",
"number",
"boolean"
]
},
"on_sale": {
"description": "Show only products that are on sale. This parameter overrides corresponding filter embedded into `shoprs` parameter.",
"type": [
"string",
"number",
"boolean"
]
},
"output": {
"description": "Parameter defines the format of the result. It can be set to `json` (default) to get a structured JSON of the results, `html` to get the raw HTML retrieved, or `md` to get a markdown-formatted version optimized for LLMs and AI agents.",
"type": [
"string",
"number",
"boolean"
]
},
"q": {
"description": "Parameter defines the query you want to search. You can use anything that you would use in a regular Google Shopping search. This parameter is optional if using `shoprs` parameter.",
"type": [
"string",
"number",
"boolean"
]
},
"shoprs": {
"description": "The parameter defines the token that includes metadata about query and search filter(s). Providing `q` parameter alongside the `shoprs` is **not** required. To apply multiple filters join them with `||` separator, e.g. `shoprs_1||shoprs_2||shoprs_3`.",
"type": [
"string",
"number",
"boolean"
]
},
"small_business": {
"description": "Show only products from small business. This parameter overrides corresponding filter embedded into `shoprs` parameter.",
"type": [
"string",
"number",
"boolean"
]
},
"sort_by": {
"description": "Parameter defines the sorting order of the results. Available options: `1` - Price: low to high `2` - Price: high to low This parameter overrides corresponding filter embedded into `shoprs` parameter.",
"type": [
"string",
"number",
"boolean"
]
},
"start": {
"description": "Parameter is intended to define the result offset for pagination. Google Shopping's current layout does not support offset pagination: the `start` parameter is ignored and every request returns the first page of results (around 40 items). The `num` parameter is still accepted and forwarded to Google, but the current layout returns a fixed page size, so it does not change the number of results ret",
"type": [
"string",
"number",
"boolean"
]
},
"uule": {
"description": "Parameter is the Google encoded location you want to use for the search. `uule` and `location` parameters can't be used together. For consistent results with coordinates-based `uule` parameter, a matching `gl` parameter is required. Head to [UULE Generator](https://Asale.com/tools/uule-generator) if you need to convert a location or GPS coordinates to `uule` parameter, and vice versa.",
"type": [
"string",
"number",
"boolean"
]
},
"zero_trace": {
"description": "Enterprise only. Parameter enables [ZeroTrace mode](https://Asale.com/zero-trace-mode). It can be set to `false` (default) or `true`. Enable this mode to skip storing search parameters, search files, and search metadata on our servers. This may make debugging more difficult.",
"type": [
"string",
"number",
"boolean"
]
}
},
"required": [
"q"
],
"type": "object"
}
},
"required": [
"query"
],
"type": "object"
}Price
0.025000 USDT / request
Tests use your account balance and the selected key’s budget. The cost limit caps this API call; it does not include future calls or recurring upstream jobs.
Price revision 4
Search
Asale matches available channels by price. The reference is the highest verified channel reference price. Only definite rejections may transfer to another channel; uncertain executions require reconciliation to avoid duplicate charges.
Supply channels: 1