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

# Scrape a Costco product

> Returns one Costco product (costco.com, or costco.ca with `domain=ca`) as JSON: `productId`, `itemNumber`, `title`, `brand`, `url`, `price`, `discount`, `currency`, `rating`, `reviewCount`, `memberOnly`, `onlineOnly`, `buyable`, `inWarehouse`, `shipIt`, `description`, `details`, `features`, `marketingStatement`, `promotionalStatement`, `shipping`, `manufacturer`, `manufacturerPartNumber`, `upc`, `minQuantity`, `maxQuantity`, `categoryPath`, `specifications`, `images`, `options` (e.g. every color and size) and `variants` (item number, option values, UPC). `product` takes a product id, an item number or a product link.



## OpenAPI

````yaml /api-reference/openapi.json post /marketplace/costco-product
openapi: 3.1.0
info:
  title: ScrapeUnblocker API
  description: >-
    Public API for the ScrapeUnblocker proxy/anti-bot service. Authenticate
    every request with the `x-scrapeunblocker-key` header. Documented here:
    page-source extraction, Google SERP scraping, image fetch, and the dedicated
    plugin endpoints (search engines, marketplaces, reviews, travel, social and
    more). All other paths exist for internal operations and are intentionally
    hidden from this spec.
  version: 3.0.0
servers:
  - url: https://api.scrapeunblocker.com
    description: Production
security: []
paths:
  /marketplace/costco-product:
    post:
      tags:
        - Plugins
      summary: Scrape a Costco product
      description: >-
        Returns one Costco product (costco.com, or costco.ca with `domain=ca`)
        as JSON: `productId`, `itemNumber`, `title`, `brand`, `url`, `price`,
        `discount`, `currency`, `rating`, `reviewCount`, `memberOnly`,
        `onlineOnly`, `buyable`, `inWarehouse`, `shipIt`, `description`,
        `details`, `features`, `marketingStatement`, `promotionalStatement`,
        `shipping`, `manufacturer`, `manufacturerPartNumber`, `upc`,
        `minQuantity`, `maxQuantity`, `categoryPath`, `specifications`,
        `images`, `options` (e.g. every color and size) and `variants` (item
        number, option values, UPC). `product` takes a product id, an item
        number or a product link.
      operationId: costco_product_marketplace_costco_product_post
      parameters:
        - name: product
          in: query
          required: true
          schema:
            type: string
            description: >-
              A Costco product id ('100361434'), item number ('17767') or
              product link
              (https://www.costco.com/p/-/kirkland-signature-colombian-coffee-dark-roast-3-lbs/100361434).
            title: Product
          description: >-
            A Costco product id ('100361434'), item number ('17767') or product
            link
            (https://www.costco.com/p/-/kirkland-signature-colombian-coffee-dark-roast-3-lbs/100361434).
        - name: domain
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Costco storefront: com, ca ('com' is costco.com, 'ca' is
              costco.ca). Defaults to the link's storefront, else 'com'.
            title: Domain
          description: >-
            Costco storefront: com, ca ('com' is costco.com, 'ca' is costco.ca).
            Defaults to the link's storefront, else 'com'.
        - name: proxy_country
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Proxy country the request is sent from (ISO-2, e.g. 'US'). Leave
              blank to let the API pick.
            title: Proxy Country
          description: >-
            Proxy country the request is sent from (ISO-2, e.g. 'US'). Leave
            blank to let the API pick.
      responses:
        '200':
          description: JSON with a `product` object.
          content:
            application/json:
              schema: {}
        '400':
          description: Invalid parameters.
        '404':
          description: Costco has no such product.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '502':
          description: Blocked by Costco, an unusable page, or no answer in time.
      security:
        - ScrapeUnblockerKey: []
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    ScrapeUnblockerKey:
      type: apiKey
      in: header
      name: x-scrapeunblocker-key
      description: Your ScrapeUnblocker API key. Apply on every request.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.