Zenserp Shopping Product Page API

Google Shopping product page endpoint, resolving a single product variant by product_id or a full product cluster across all merchants by gpc_id. Product ids are obtained from a shopping search. Served from the v1 base, not v2.

Operations 1

GET /api/v1/shopping Google Shopping Product Page #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/zenserp-shopping-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

zenserp-shopping-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Zenserp Shopping API
  description: Zenserp SERP API. Real-time and historical search engine result pages for Google (web, images, video, news, shopping, maps, reverse image, YouTube, trends), Bing, Yandex and DuckDuckGo, plus asynchronous batch fetching with webhook delivery, Google Shopping product pages, Google Trends, and the reference list endpoints for languages, countries, geo locations and search engines. Endpoint inventory taken from the Zenserp documentation and confirmed against live unauthenticated probes; the v2 and v1 surfaces run side by side.
  version: '2.0'
  contact:
    name: Zenserp Support
    url: https://zenserp.com/
    email: support@zenserp.com
  termsOfService: https://zenserp.com/terms-of-service/
  x-logo:
    url: https://zenserp.com/wp-content/uploads/2019/07/zenserp-logo.png
  x-source: https://app.zenserp.com/documentation (endpoint list decompiled from the docs SPA bundle /js/app.js) + live unauthenticated probes 2026-08-13
servers:
- url: https://app.zenserp.com
  description: Zenserp API host. Search, status and the list endpoints are under /api/v2; batches, trends and shopping product pages are under /api/v1.
security:
- apiKeyHeader: []
- apiKeyQuery: []
tags:
- name: Shopping
  description: Google Shopping product page lookup by product or product-cluster id.
paths:
  /api/v1/shopping:
    get:
      operationId: shoppingProductPage
      summary: Google Shopping Product Page
      description: This endpoint gives you access to shopping product pages by their product_id or gpc_id, which can be obtained from a shopping search. Pass product_id to get a single product variant, or gpc_id (Google Product Cluster ID) to get the full product cluster across all merchants.
      tags:
      - Shopping
      parameters:
      - name: product_id
        in: query
        required: false
        description: Google Shopping product id -- returns a single product variant.
        schema:
          type: string
      - name: gpc_id
        in: query
        required: false
        description: Google Product Cluster ID -- returns the full product cluster across all merchants.
        schema:
          type: string
      - name: location
        in: query
        required: false
        description: Canonical geo location string (see the /api/v2/locations list endpoint).
        schema:
          type: string
      - name: search_engine
        in: query
        required: false
        description: Google domain to query, e.g. google.com.
        schema:
          type: string
      - name: hl
        in: query
        required: false
        description: Interface language code.
        schema:
          type: string
      - name: gl
        in: query
        required: false
        description: Country code.
        schema:
          type: string
      responses:
        '200':
          description: Google Shopping product page payload.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '403':
          description: Forbidden -- API key is wrong, you don't have enough requests or you don't have enough rights to access it.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found -- There were no results found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ErrorResponse:
      type: object
      description: 'Zenserp error envelope for request-level failures. Verbatim example from the live API: {"error": "No apikey provided."}'
      properties:
        error:
          type: string
          description: Human-readable error message.
          example: No apikey provided.
  securitySchemes:
    apiKeyHeader:
      type: apiKey
      in: header
      name: apikey
      description: API key passed in the request header.
    apiKeyQuery:
      type: apiKey
      in: query
      name: apikey
      description: API key passed as a query parameter.