> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anysite.io/llms.txt
> Use this file to discover all available pages before exploring further.

# /takealot/products/search

> Search Takealot products by keyword, or browse a department/category. Filter by brand, availability, price range (ZAR), minimum star rating and arbitrary facets, and sort by relevance, price, rating or release date. Returns product cards with title, brand, price and list price (ZAR), saving, stock status, image, rating with star distribution and review count.

**Price:** 10 credits per 36 results



## OpenAPI

````yaml /openapi/e-commerce-marketplaces.json post /api/takealot/products/search
openapi: 3.1.0
info:
  title: Any Site API
  description: >+
    Any Site API provides programmatic access to data from LinkedIn, Instagram,
    Twitter, and other platforms.


    ## Authentication


    All API endpoints require an `access-token` header with a valid API token.
    Tokens can be created in the [dashboard](https://app.anysite.io/).


    ## Pricing


    Each endpoint has a credit cost listed in its description. Credits are
    deducted from your token balance per request.

  version: 0.0.1
servers: []
security:
  - AccessToken: []
paths:
  /api/takealot/products/search:
    post:
      tags:
        - /takealot
      summary: /takealot/products/search
      description: >-
        Search Takealot products by keyword, or browse a department/category.
        Filter by brand, availability, price range (ZAR), minimum star rating
        and arbitrary facets, and sort by relevance, price, rating or release
        date. Returns product cards with title, brand, price and list price
        (ZAR), saving, stock status, image, rating with star distribution and
        review count.


        **Price:** 10 credits per 36 results
      operationId: __api_takealot_products_search_post
      parameters:
        - name: access-token
          in: header
          required: true
          schema:
            anyOf:
              - type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TakealotProductsSearchPayload'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TakealotSearchProduct'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    TakealotProductsSearchPayload:
      properties:
        timeout:
          type: integer
          maximum: 1500
          minimum: 20
          default: 300
        keyword:
          anyOf:
            - type: string
            - type: 'null'
        count:
          type: integer
          minimum: 1
        sort:
          $ref: '#/components/schemas/TakealotSearchSort'
          default: Relevance
        department_slug:
          anyOf:
            - type: string
            - type: 'null'
        category_slug:
          anyOf:
            - type: string
            - type: 'null'
        brand:
          anyOf:
            - type: string
            - type: 'null'
        in_stock_only:
          type: boolean
          default: false
        price_min:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
        price_max:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
        rating:
          anyOf:
            - type: integer
              maximum: 5
              minimum: 1
            - type: 'null'
        filters:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
      type: object
      required:
        - count
    TakealotSearchProduct:
      properties:
        '@type':
          type: string
          default: TakealotSearchProduct
        id:
          type: integer
        product_title:
          type: string
        alias:
          anyOf:
            - type: string
            - type: 'null'
        subtitle:
          anyOf:
            - type: string
            - type: 'null'
        brand:
          anyOf:
            - type: string
            - type: 'null'
        url:
          anyOf:
            - type: string
            - type: 'null'
        image:
          anyOf:
            - type: string
            - type: 'null'
        image_count:
          anyOf:
            - type: integer
            - type: 'null'
        price:
          anyOf:
            - type: number
            - type: 'null'
        list_price:
          anyOf:
            - type: number
            - type: 'null'
        currency:
          type: string
          default: ZAR
        saving:
          anyOf:
            - type: string
            - type: 'null'
        is_in_stock:
          anyOf:
            - type: boolean
            - type: 'null'
        stock_status:
          anyOf:
            - type: string
            - type: 'null'
        has_more_colours:
          anyOf:
            - type: boolean
            - type: 'null'
        tsin:
          anyOf:
            - type: integer
            - type: 'null'
        rating:
          anyOf:
            - type: number
            - type: 'null'
        review_count:
          anyOf:
            - type: integer
            - type: 'null'
        rating_distribution:
          anyOf:
            - $ref: '#/components/schemas/TakealotRatingDistribution'
            - type: 'null'
      type: object
      required:
        - id
        - product_title
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
      type: object
    TakealotSearchSort:
      type: string
      enum:
        - Relevance
        - Price Ascending
        - Price Descending
        - Rating Descending
        - ReleaseDate Descending
    TakealotRatingDistribution:
      properties:
        '@type':
          type: string
          default: TakealotRatingDistribution
        one_star_count:
          type: integer
          default: 0
        two_star_count:
          type: integer
          default: 0
        three_star_count:
          type: integer
          default: 0
        four_star_count:
          type: integer
          default: 0
        five_star_count:
          type: integer
          default: 0
      type: object
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
        msg:
          type: string
        type:
          type: string
        input: {}
        ctx:
          type: object
      type: object
      required:
        - loc
        - msg
        - type
  securitySchemes:
    AccessToken:
      type: apiKey
      in: header
      name: access-token
      description: API token from the dashboard

````