---
title: "Search IKEA products"
method: GET
path: "/ikea/search"
tags: ["IKEA"]
---

# Search IKEA products

`GET /ikea/search`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/ikea/search`
- Auth: API key in header `x-api-key`

Searches IKEA products and returns name, price, rating, images, colors, and variant data. q is a free-text query; an IKEA item number also resolves as its own single result. country and language select IKEA's per-country site (default us/en). A zero total with an empty products list is a valid no-results response.

## Query parameters

- `q` string, required
- `country` string
- `language` string
- `size` integer

## Headers

- `x-api-key` string, required

## Response `200`

OK

- IkeaSearchResponseDoc
  - `code` integer
  - `data` IkeaSearchResponse
    - `count` integer: Count is the number of products returned in this response; Total is IKEA's own total match count across the full result set (there is no confirmed-working pagination parameter for retrieving results beyond Size in one call -- see this package's doc comment).
    - `country` string
    - `did_you_mean` string[]: DidYouMean is populated only when IKEA's own spell-correction suggests a different query than the one submitted.
    - `fetched_at` string
    - `language` string
    - `products` IkeaProductSummary[]
      - `colors` IkeaColor[]
        - `hex` string
        - `id` string
        - `name` string
      - `filter_class` string: FilterClass is IKEA's own product-type slug, e.g. "desks" -- usable as a coarse category signal, though it is not currently accepted back as a category-browse filter by this endpoint (see this package's doc comment).
      - `image_url` string
      - `item_no` string
      - `measure_text` string
      - `name` string
      - `price` IkeaPrice
        - `currency_code` string
        - `current` number
        - `discount_amount` number
        - `discount_percentage` number
        - `formatted` string
        - `previous` number
        - `previous_formatted` string
        - `tag` string: Tag is IKEA's own price-badge code, e.g. "FAMILY_PRICE" for an IKEA Family member price. TagText is its human-readable label, e.g. "IKEA Family price".
        - `tag_text` string
        - `valid_from` string
        - `valid_to` string
      - `product_url` string
      - `rating` IkeaRating
        - `count` integer
        - `value` number
      - `type_name` string
      - `valid_design` string: ValidDesign is IKEA's own color/finish descriptor for this exact item, e.g. "white" or "black-brown" -- the design this specific item number represents, as opposed to Colors below (every color swatch shown for the product family).
      - `variant_count` integer: VariantCount is the total number of other purchasable size/color/design options this product has, which may exceed len(Variants) -- the search endpoint's own gprDescription block does not always enumerate every variant.
      - `variants` IkeaVariant[]
        - `image_url` string
        - `item_no` string
        - `name` string
        - `price` IkeaPrice
          - `currency_code` string
          - `current` number
          - `discount_amount` number
          - `discount_percentage` number
          - `formatted` string
          - `previous` number
          - `previous_formatted` string
          - `tag` string: Tag is IKEA's own price-badge code, e.g. "FAMILY_PRICE" for an IKEA Family member price. TagText is its human-readable label, e.g. "IKEA Family price".
          - `tag_text` string
          - `valid_from` string
          - `valid_to` string
        - `product_url` string
        - `rating` IkeaRating
          - `count` integer
          - `value` number
        - `type_name` string
        - `valid_design` string
    - `query` string
    - `related_searches` IkeaRelatedSearch[]: RelatedSearches are IKEA's own suggested related queries with their own result counts.
      - `count` integer
      - `text` string
    - `source_url` string
    - `total` integer
  - `msg` string

## Other responses

- `400`: Bad Request
- `429`: Too Many Requests
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/0497899e2016?raw)
