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

# Resolve merchant URL for a product

> Resolve the direct merchant URL for a product from Google Shopping.



## OpenAPI

````yaml GET /v1/google/shopping/product/click
openapi: 3.1.0
info:
  title: ScrapeBadger Google Scraper
  description: >-
    Dedicated API for scraping Google products (SERP, Maps, News, Hotels,
    Trends, Jobs, Shopping, Patents, Scholar, Autocomplete, Images, Videos,
    Finance, AI Mode, Lens, Products).
  version: 1.0.0
servers:
  - url: https://scrapebadger.com
    description: Production
security:
  - apiKeyAuth: []
paths:
  /v1/google/shopping/product/click:
    get:
      tags:
        - Google Shopping
      summary: Resolve merchant URL for a Google Shopping product
      description: |-
        Resolve the real merchant URL for a product from Google Shopping.

        Google has removed direct merchant links from organic Shopping HTML,
        so the public /shopping/search response can only return the product
        title + price + source. This endpoint takes a product title (and
        optionally the source merchant) and uses Google's "I'm Feeling Lucky"
        redirect (`btnI=1`) to materialize the top merchant URL, mirroring
        the per-product enrichment pattern exposes via
        `immersive product link`.

        When `source` is passed, the query is scoped with `site:{domain}`
        so the resolved URL lands on the exact merchant whose price was
        shown in the card (rather than a generic top organic match).

        Typical usage:
            1. Call GET /shopping/search?q=laptop
            2. Pick a product from the results
            3. Call the product's click_link field to get the merchant URL

        Credits: 1 per call (one secondary scrape via curl_cffi).
      operationId: shopping_product_click_api_v1_shopping_product_click_get
      parameters:
        - name: title
          in: query
          required: true
          schema:
            type: string
            description: Exact product title from a search result
            title: Title
          description: Exact product title from a search result
        - name: source
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Merchant source name from the shopping card (e.g. 'Walmart', 'Best
              Buy'). Forces the resolved URL to that merchant via site:
              operator.
            title: Source
          description: >-
            Merchant source name from the shopping card (e.g. 'Walmart', 'Best
            Buy'). Forces the resolved URL to that merchant via site: operator.
        - name: q
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Original search query (optional, improves disambiguation)
            title: Q
          description: Original search query (optional, improves disambiguation)
        - name: product_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Stable product_id from the /shopping/search result
            title: Product Id
          description: Stable product_id from the /shopping/search result
        - name: gl
          in: query
          required: false
          schema:
            type: string
            description: Country code
            default: us
            title: Gl
          description: Country code
        - name: hl
          in: query
          required: false
          schema:
            type: string
            description: Language code
            default: en
            title: Hl
          description: Language code
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShoppingClickResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ShoppingClickResponse:
      properties:
        product_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Product Id
        title:
          type: string
          title: Title
        merchant_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Merchant Url
        merchant_domain:
          anyOf:
            - type: string
            - type: 'null'
          title: Merchant Domain
        source_query:
          anyOf:
            - type: string
            - type: 'null'
          title: Source Query
      type: object
      required:
        - title
      title: ShoppingClickResponse
      description: |-
        Response for GET /api/v1/shopping/product/click.

        Returns the direct merchant URL for a given product title by using
        Google's "I'm Feeling Lucky" redirect. Mirrors 
        immersive product link pattern — an on-demand per-product
        enrichment that materializes the merchant link that Google strips from
        organic Shopping HTML.
    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
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````