> ## 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 one Grainger product

> Fetches one Grainger item (by `sku`, the Grainger item number, or `url`) and returns it as JSON: `sku`, `productId`, `title`, `brand`, `manufacturerModel`, `url`, `price` (signed-out Web Price), `priceLabel`, `priceType`, `wasPrice`, `unitOfMeasure` (e.g. 'pkg. of 100'), `quantityPricing`, `currency`, `status`, `discontinued`, `sellInfo`, `shippingWeight`, `description`, `specifications` (name / value, including UNSPSC and country of origin), `images`, `documents` (spec sheets, drawings), `alternateSkus` and `breadcrumbs`. Stock is not included: Grainger checks it per ZIP code after the page loads.



## OpenAPI

````yaml /api-reference/openapi.json post /marketplace/grainger-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/grainger-product:
    post:
      tags:
        - Plugins
      summary: Scrape one Grainger product
      description: >-
        Fetches one Grainger item (by `sku`, the Grainger item number, or `url`)
        and returns it as JSON: `sku`, `productId`, `title`, `brand`,
        `manufacturerModel`, `url`, `price` (signed-out Web Price),
        `priceLabel`, `priceType`, `wasPrice`, `unitOfMeasure` (e.g. 'pkg. of
        100'), `quantityPricing`, `currency`, `status`, `discontinued`,
        `sellInfo`, `shippingWeight`, `description`, `specifications` (name /
        value, including UNSPSC and country of origin), `images`, `documents`
        (spec sheets, drawings), `alternateSkus` and `breadcrumbs`. Stock is not
        included: Grainger checks it per ZIP code after the page loads.
      operationId: grainger_product_marketplace_grainger_product_post
      parameters:
        - name: sku
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Grainger item number, e.g. '1XE66' or '22TA59' (the `sku` of a
              search result).
            title: Sku
          description: >-
            Grainger item number, e.g. '1XE66' or '22TA59' (the `sku` of a
            search result).
        - name: url
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Instead of `sku`: a Grainger product link, e.g.
              https://www.grainger.com/product/Hex-Head-Cap-Screw-Stainless-1XE66.
            title: Url
          description: >-
            Instead of `sku`: a Grainger product link, e.g.
            https://www.grainger.com/product/Hex-Head-Cap-Screw-Stainless-1XE66.
      responses:
        '200':
          description: JSON with the product record.
          content:
            application/json:
              schema: {}
        '400':
          description: Invalid or missing sku/url.
        '404':
          description: No such Grainger item.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '502':
          description: >-
            Blocked by Grainger on every attempt, no product data, or the call
            did not finish 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.