# Products search

Search Asda Groceries UK products by keyword, with store-aware stock boosting and normalized price, offer, unit price, rating, GTIN, and taxonomy fields.

- Platform: [Asda](https://docs.upscrape.com/docs/platforms/asda)
- Capability ID: `asda.products.search`
- Cost: 1–10 credits per request
- Maximum runtime: 30 seconds
- Execute endpoint: `POST https://data.upscrape.com/execute`

## Request

Use the exact public capability ID in the shared execute envelope.

```bash
curl --request POST \
  --url https://data.upscrape.com/execute \
  --header "Authorization: Bearer $UPSCRAPE_API_KEY" \
  --header "Content-Type: application/json" \
  --header "Prefer: wait=30" \
  --data '{
  "input": {
    "hits_per_page": 5,
    "page": 1,
    "query": "milk",
    "store_id": "4565"
  },
  "capability": "asda.products.search"
}'
```

## Input


| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `active_only` | `boolean` | No | Return only products ASDA lists as active (STATUS "A"). Default false keeps delisted products (STATUS "I") so listings are complete. Default: `false`. |
| `hits_per_page` | `integer` | No | Number of results per page. From 1 to 60. Default: `24`. |
| `include_raw` | `boolean` | No | Include ASDA's unprocessed Algolia response under `raw` (large: ~150 KB per 60 products). Set false for normalized fields only. Default: `true`. |
| `page` | `integer` | No | 1-based results page At least 1. |
| `query` | `string` | Yes | Search query. |
| `store_id` | `string` | No | Asda store id used for stock boosting and in_stock flags Default: `4565`. |

### Example input

```json
{
  "hits_per_page": 5,
  "page": 1,
  "query": "milk",
  "store_id": "4565"
}
```

## Response

Successful output is returned in `results[0].data`.

Raw platform output is intentionally open-ended and may evolve with the upstream source.

### Illustrative sample output

This example shows one response. Values and optional fields vary with the data available.

```json
{
  "items": [
    {
      "avg_rating": 4.179,
      "brand": "ASDA",
      "category": "Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Semi Skimmed Milk",
      "cin": "[redacted:cin]",
      "currency": "GBP",
      "gtin": "20337087",
      "id": "20504",
      "image_id": "20337087",
      "image_url": "https://asdagroceries.scene7.com/is/image/asdagroceries/20337087",
      "in_stock": true,
      "name": "British Milk Semi Skimmed 4 Pints",
      "offer": "Dropped",
      "pack_size": "4 PINT",
      "price": 1.65,
      "price_per_uom": "72.6p/LT",
      "price_per_uom_unit": "LT",
      "price_per_uom_value": 0.72591,
      "rating_count": 1039,
      "sales_type": "Each",
      "status": "A",
      "taxonomy": {
        "AISLE_ID": "1215339434886",
        "AISLE_NAME": "Fresh Milk",
        "CAT_ID": "1215660378320",
        "CAT_NAME": "Chilled Food",
        "DEPT_ID": "1215339432024",
        "DEPT_NAME": "Milk, Butter, Cream & Eggs",
        "SHELF_ID": "1215339438036",
        "SHELF_NAME": "Semi Skimmed Milk"
      },
      "url": "https://www.asda.com/groceries/product/165468"
    },
    {
      "avg_rating": 4.1786,
      "brand": "ASDA",
      "category": "Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Whole Milk",
      "cin": "[redacted:cin]",
      "currency": "GBP",
      "gtin": "20332167",
      "id": "20502",
      "image_id": "20332167",
      "image_url": "https://asdagroceries.scene7.com/is/image/asdagroceries/20332167",
      "in_stock": true,
      "name": "Whole British Milk 4 Pints",
      "offer": "Dropped",
      "pack_size": "4 PINT",
      "price": 1.65,
      "price_per_uom": "72.6p/LT",
      "price_per_uom_unit": "LT",
      "price_per_uom_value": 0.72591,
      "rating_count": 543,
      "sales_type": "Each",
      "status": "A",
      "taxonomy": {
        "AISLE_ID": "1215339434886",
        "AISLE_NAME": "Fresh Milk",
        "CAT_ID": "1215660378320",
        "CAT_NAME": "Chilled Food",
        "DEPT_ID": "1215339432024",
        "DEPT_NAME": "Milk, Butter, Cream & Eggs",
        "SHELF_ID": "1215339437949",
        "SHELF_NAME": "Whole Milk"
      },
      "url": "https://www.asda.com/groceries/product/165426"
    },
    {
      "avg_rating": 4.1781,
      "brand": "ASDA",
      "category": "Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Semi Skimmed Milk",
      "cin": "[redacted:cin]",
      "currency": "GBP",
      "gtin": "20353629",
      "id": "20506",
      "image_id": "20353629",
      "image_url": "https://asdagroceries.scene7.com/is/image/asdagroceries/20353629",
      "in_stock": true,
      "name": "British Milk Semi Skimmed 6 Pints",
      "offer": "Dropped",
      "pack_size": "6 PINT",
      "price": 2.4,
      "price_per_uom": "70.4p/LT",
      "price_per_uom_unit": "LT",
      "price_per_uom_value": 0.70381,
      "rating_count": 421,
      "sales_type": "Each",
      "status": "A",
      "taxonomy": {
        "AISLE_ID": "1215339434886",
        "AISLE_NAME": "Fresh Milk",
        "CAT_ID": "1215660378320",
        "CAT_NAME": "Chilled Food",
        "DEPT_ID": "1215339432024",
        "DEPT_NAME": "Milk, Butter, Cream & Eggs",
        "SHELF_ID": "1215339438036",
        "SHELF_NAME": "Semi Skimmed Milk"
      },
      "url": "https://www.asda.com/groceries/product/166556"
    }
  ],
  "page": {
    "algolia_page": 0,
    "hits_per_page": 5,
    "nb_hits": 409,
    "nb_pages": 82,
    "page": 1
  },
  "raw": {
    "exhaustive": {
      "nbHits": true,
      "typo": true
    },
    "exhaustiveNbHits": true,
    "exhaustiveTypo": true,
    "extensions": {
      "queryCategorization": {
        "autofiltering": {
          "enabled": true,
          "facetFilters": [],
          "maxDepth": 5,
          "optionalFilters": [
            "PRIMARY_TAXONOMY.CAT_NAME:Chilled Food",
            "PRIMARY_TAXONOMY.DEPT_NAME:Milk, Butter, Cream & Eggs",
            "PRIMARY_TAXONOMY.AISLE_NAME:Fresh Milk"
          ]
        },
        "count": 747268,
        "normalizedQuery": "milk"
      }
    },
    "hits": [
      {
        "AVG_RATING": 4.179,
        "BRAND": "ASDA",
        "CIN": "[redacted:cin]",
        "CS_YES": false,
        "END_DATE": 1924948800,
        "ICONS": [
          {
            "CLICKABLE": false,
            "END_DATE": 1551873600,
            "ICON_NAME": "801_NoShellfish",
            "ID": "51000002",
            "IMAGE_URL": "https://ui.assets-asda.com/dm/_000_Icon?&$Icon-wapp$",
            "PRIORITY": 10440,
            "START_DATE": 1551700800
          },
          {
            "CLICKABLE": true,
            "END_DATE": 1604275200,
            "ICON_NAME": "_923_LiveBetter",
            "ID": "53500014",
            "IMAGE_URL": "https://ui.assets-asda.com/dm/_923_LiveBetter?&$Icon-wapp$",
            "PRIORITY": -83,
            "START_DATE": 1575072060
          },
          {
            "CLICKABLE": false,
            "END_DATE": 1600171200,
            "ICON_NAME": "_151_UnionFlag",
            "ID": "55000003",
            "IMAGE_URL": "https://ui.assets-asda.comtest.jpg",
            "PRIORITY": 10427,
            "START_DATE": 1594728000
          }
        ],
        "ID": "20504",
        "IMAGE_ID": "20337087",
        "IS_BWS": false,
        "IS_FROZEN": false,
        "IS_FTO": false,
        "IS_SPONSORED": false,
        "LABEL": "",
        "MAX_QTY": 24,
        "NAME": "British Milk Semi Skimmed 4 Pints",
        "PACK_SIZE": "4 PINT",
        "PHARMACY_RESTRICTED": false,
        "PRICES": {
          "EN": {
            "OFFER": "Dropped",
            "PRICE": 1.65,
            "PRICEPERUOM": 0.72591,
            "PRICEPERUOMFORMATTED": "72.6p/LT",
            "WASPRICE": 1.65
          }
        },
        "PRIMARY_TAXONOMY": {
          "AISLE_ID": "1215339434886",
          "AISLE_NAME": "Fresh Milk",
          "CAT_ID": "1215660378320",
          "CAT_NAME": "Chilled Food",
          "DEPT_ID": "1215339432024",
          "DEPT_NAME": "Milk, Butter, Cream & Eggs",
          "SHELF_ID": "1215339438036",
          "SHELF_NAME": "Semi Skimmed Milk"
        },
        "PRODUCT_TYPE": "STANDARD",
        "RATING_COUNT": 1039,
        "SALES_TYPE": "Each",
        "SHOW_PRICE_CS": true,
        "START_DATE": -1893412800,
        "STATUS": "A",
        "STOCK": {
          "4565": 999
        },
        "_highlightResult": {
          "BRAND": {
            "matchLevel": "none",
            "matchedWords": [],
            "value": "ASDA"
          },
          "CIN": "[redacted:cin]",
          "ID": {
            "matchLevel": "none",
            "matchedWords": [],
            "value": "20504"
          },
          "NAME": {
            "fullyHighlighted": false,
            "matchLevel": "full",
            "matchedWords": [
              "milk"
            ],
            "value": "British <em>Milk</em> Semi Skimmed 4 Pints"
          },
          "PRIMARY_TAXONOMY": {
            "AISLE_NAME": {
              "fullyHighlighted": false,
              "matchLevel": "full",
              "matchedWords": [
                "milk"
              ],
              "value": "Fresh <em>Milk</em>"
            },
            "SHELF_NAME": {
              "fullyHighlighted": false,
              "matchLevel": "full",
              "matchedWords": [
                "milk"
              ],
              "value": "Semi Skimmed <em>Milk</em>"
            }
          }
        },
        "objectID": "165468"
      },
      {
        "AVG_RATING": 4.1786,
        "BRAND": "ASDA",
        "CIN": "[redacted:cin]",
        "CS_YES": false,
        "END_DATE": 1924948800,
        "ICONS": [
          {
            "CLICKABLE": false,
            "END_DATE": 1551873600,
            "ICON_NAME": "801_NoShellfish",
            "ID": "51000002",
            "IMAGE_URL": "https://ui.assets-asda.com/dm/_000_Icon?&$Icon-wapp$",
            "PRIORITY": 10440,
            "START_DATE": 1551700800
          },
          {
            "CLICKABLE": false,
            "END_DATE": 1600171200,
            "ICON_NAME": "_151_UnionFlag",
            "ID": "55000003",
            "IMAGE_URL": "https://ui.assets-asda.comtest.jpg",
            "PRIORITY": 10427,
            "START_DATE": 1594728000
          },
          {
            "CLICKABLE": true,
            "END_DATE": 1682510400,
            "ICON_NAME": "_008_RedTractorAUTO",
            "ID": "55200006",
            "IMAGE_URL": "https://ui.assets-asda.com/dm/_008_redtractor?&$icon-wapp$",
            "PRIORITY": 5354,
            "START_DATE": 1609329600
          }
        ],
        "ID": "20502",
        "IMAGE_ID": "20332167",
        "IS_BWS": false,
        "IS_FROZEN": false,
        "IS_FTO": false,
        "IS_SPONSORED": false,
        "LABEL": "",
        "MAX_QTY": 24,
        "NAME": "Whole British Milk 4 Pints",
        "PACK_SIZE": "4 PINT",
        "PHARMACY_RESTRICTED": false,
        "PRICES": {
          "EN": {
            "OFFER": "Dropped",
            "PRICE": 1.65,
            "PRICEPERUOM": 0.72591,
            "PRICEPERUOMFORMATTED": "72.6p/LT",
            "WASPRICE": 1.65
          }
        },
        "PRIMARY_TAXONOMY": {
          "AISLE_ID": "1215339434886",
          "AISLE_NAME": "Fresh Milk",
          "CAT_ID": "1215660378320",
          "CAT_NAME": "Chilled Food",
          "DEPT_ID": "1215339432024",
          "DEPT_NAME": "Milk, Butter, Cream & Eggs",
          "SHELF_ID": "1215339437949",
          "SHELF_NAME": "Whole Milk"
        },
        "PRODUCT_TYPE": "STANDARD",
        "RATING_COUNT": 543,
        "SALES_TYPE": "Each",
        "SHOW_PRICE_CS": true,
        "START_DATE": -2208945600,
        "STATUS": "A",
        "STOCK": {
          "4565": 999
        },
        "_highlightResult": {
          "BRAND": {
            "matchLevel": "none",
            "matchedWords": [],
            "value": "ASDA"
          },
          "CIN": "[redacted:cin]",
          "ID": {
            "matchLevel": "none",
            "matchedWords": [],
            "value": "20502"
          },
          "KEYWORDS": {
            "fullyHighlighted": false,
            "matchLevel": "full",
            "matchedWords": [
              "milk"
            ],
            "value": "blue <em>milk</em>,mulk,molk"
          },
          "LIFESTYLES": [
            {
              "matchLevel": "none",
              "matchedWords": [],
              "value": "Suitable for Vegetarians"
            }
          ],
          "NAME": {
            "fullyHighlighted": false,
            "matchLevel": "full",
            "matchedWords": [
              "milk"
            ],
            "value": "Whole British <em>Milk</em> 4 Pints"
          },
          "PRIMARY_TAXONOMY": {
            "AISLE_NAME": {
              "fullyHighlighted": false,
              "matchLevel": "full",
              "matchedWords": [
                "milk"
              ],
              "value": "Fresh <em>Milk</em>"
            },
            "SHELF_NAME": {
              "fullyHighlighted": false,
              "matchLevel": "full",
              "matchedWords": [
                "milk"
              ],
              "value": "Whole <em>Milk</em>"
            }
          }
        },
        "objectID": "165426"
      },
      {
        "AVG_RATING": 4.1781,
        "BRAND": "ASDA",
        "CIN": "[redacted:cin]",
        "CS_YES": false,
        "END_DATE": 1924948800,
        "ICONS": [
          {
            "CLICKABLE": false,
            "END_DATE": 1551873600,
            "ICON_NAME": "801_NoShellfish",
            "ID": "51000002",
            "IMAGE_URL": "https://ui.assets-asda.com/dm/_000_Icon?&$Icon-wapp$",
            "PRIORITY": 10440,
            "START_DATE": 1551700800
          },
          {
            "CLICKABLE": true,
            "END_DATE": 1604275200,
            "ICON_NAME": "_923_LiveBetter",
            "ID": "53500014",
            "IMAGE_URL": "https://ui.assets-asda.com/dm/_923_LiveBetter?&$Icon-wapp$",
            "PRIORITY": -83,
            "START_DATE": 1575072060
          },
          {
            "CLICKABLE": true,
            "ICON_NAME": "Live Better",
            "ID": "55100004",
            "IMAGE_URL": "https://ui.assets-asda.com/dm/_923_LiveBetter_Update?",
            "PRIORITY": 875,
            "START_DATE": 1596283200
          }
        ],
        "ID": "20506",
        "IMAGE_ID": "20353629",
        "IS_BWS": false,
        "IS_FROZEN": false,
        "IS_FTO": false,
        "IS_SPONSORED": false,
        "LABEL": "",
        "MAX_QTY": 24,
        "NAME": "British Milk Semi Skimmed 6 Pints",
        "PACK_SIZE": "6 PINT",
        "PHARMACY_RESTRICTED": false,
        "PRICES": {
          "EN": {
            "OFFER": "Dropped",
            "PRICE": 2.4,
            "PRICEPERUOM": 0.70381,
            "PRICEPERUOMFORMATTED": "70.4p/LT",
            "WASPRICE": 2.4
          }
        },
        "PRIMARY_TAXONOMY": {
          "AISLE_ID": "1215339434886",
          "AISLE_NAME": "Fresh Milk",
          "CAT_ID": "1215660378320",
          "CAT_NAME": "Chilled Food",
          "DEPT_ID": "1215339432024",
          "DEPT_NAME": "Milk, Butter, Cream & Eggs",
          "SHELF_ID": "1215339438036",
          "SHELF_NAME": "Semi Skimmed Milk"
        },
        "PRODUCT_TYPE": "STANDARD",
        "RATING_COUNT": 421,
        "SALES_TYPE": "Each",
        "SHOW_PRICE_CS": true,
        "START_DATE": 1597752000,
        "STATUS": "A",
        "STOCK": {
          "4565": 999
        },
        "_highlightResult": {
          "BRAND": {
            "matchLevel": "none",
            "matchedWords": [],
            "value": "ASDA"
          },
          "CIN": "[redacted:cin]",
          "ID": {
            "matchLevel": "none",
            "matchedWords": [],
            "value": "20506"
          },
          "KEYWORDS": {
            "fullyHighlighted": false,
            "matchLevel": "full",
            "matchedWords": [
              "milk"
            ],
            "value": "green <em>milk</em>,mulk,molk"
          },
          "LIFESTYLES": [
            {
              "matchLevel": "none",
              "matchedWords": [],
              "value": "Suitable for Vegetarians"
            }
          ],
          "NAME": {
            "fullyHighlighted": false,
            "matchLevel": "full",
            "matchedWords": [
              "milk"
            ],
            "value": "British <em>Milk</em> Semi Skimmed 6 Pints"
          },
          "PRIMARY_TAXONOMY": {
            "AISLE_NAME": {
              "fullyHighlighted": false,
              "matchLevel": "full",
              "matchedWords": [
                "milk"
              ],
              "value": "Fresh <em>Milk</em>"
            },
            "SHELF_NAME": {
              "fullyHighlighted": false,
              "matchLevel": "full",
              "matchedWords": [
                "milk"
              ],
              "value": "Semi Skimmed <em>Milk</em>"
            }
          }
        },
        "objectID": "166556"
      }
    ],
    "hitsPerPage": 5,
    "nbHits": 409,
    "nbPages": 82,
    "page": 0,
    "params": "attributesToRetrieve=%5B%22STATUS%22%2C%22BRAND%22%2C%22CIN%22%2C%22NAME%22%2C%22AVG_RATING%22%2C%22RATING_COUNT%22%2C%22ICONS%22%2C%22PRICES.EN%22%2C%22SALES_TYPE%22%2C%22MAX_QTY%22%2C%22STOCK.4565%22%2C%22IS_FROZEN%22%2C%22IS_BWS%22%2C%22PROMOS.EN%22%2C%22LABEL%22%2C%22LABEL_START_DATE%22%2C%22LABEL_END_DATE%22%2C%22IS_SPONSORED%22%2C%22PRODUCT_TYPE%22%2C%22CIN_ID%22%2C%22PRIMARY_TAXONOMY%22%2C%…",
    "processingTimeMS": 3,
    "processingTimingsMS": {
      "_request": {
        "roundTrip": 19
      },
      "extensions": 1,
      "extractDocsToPromoteDetails": {
        "pinRetrieval": {
          "total": 1
        },
        "total": 1
      },
      "total": 4
    },
    "query": "milk",
    "renderingContent": {},
    "serverTimeMS": 4
  }
}
```
### Illustrative output fields

Derived from the sample above for orientation only. These fields are not a fixed response schema.

| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `page` | `object` | 5 fields |
| `page.algolia_page` | `integer` | 0 |
| `page.hits_per_page` | `integer` | 5 |
| `page.nb_hits` | `integer` | 409 |
| `page.nb_pages` | `integer` | 82 |
| `page.page` | `integer` | 1 |
| `raw` | `object` | 15 fields |
| `raw.exhaustive` | `object` | 2 fields |
| `raw.exhaustiveNbHits` | `boolean` | true |
| `raw.exhaustiveTypo` | `boolean` | true |
| `raw.extensions` | `object` | 1 fields |
| `raw.hits` | `array` | 3 items |
| `raw.hitsPerPage` | `integer` | 5 |
| `raw.nbHits` | `integer` | 409 |
| `raw.nbPages` | `integer` | 82 |
| `raw.page` | `integer` | 0 |
| `raw.params` | `string` | attributesToRetrieve=%5B%22STATUS%22%2C%22BRAND%22%2C%22CIN%22%2C%22NAM… |
| `raw.processingTimeMS` | `integer` | 3 |
| `raw.processingTimingsMS` | `object` | 4 fields |
| `raw.query` | `string` | milk |
| `raw.renderingContent` | `object` | 0 fields |
| `raw.serverTimeMS` | `integer` | 4 |

## Execution behavior

A `200` response completed inline. A `202` response was queued; poll `GET /jobs/{id}` until the job reaches `completed` or `failed`. Use an `Idempotency-Key` when retrying must not create a duplicate logical job.

## Related documentation

- [Authentication](https://docs.upscrape.com/docs/api/authentication)
- [Jobs and results](https://docs.upscrape.com/docs/api/jobs)
- [Errors and retries](https://docs.upscrape.com/docs/api/errors)
- [Idempotency](https://docs.upscrape.com/docs/api/idempotency)
