Google Shopping Products Scraper
Pricing
from $3.99 / 1,000 results
Go to Apify Store
Google Shopping Products Scraper
Extract public product details, merchant offers, and variants from Google Shopping product pages.
Google Shopping Products Scraper
Pricing
from $3.99 / 1,000 results
Extract public product details, merchant offers, and variants from Google Shopping product pages.
You can access the Google Shopping Products Scraper programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in API & Integrations in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "2.0", "x-build-id": "4kZHYevUyMKn7zEA6" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/googleapi~google-shopping-products-scraper/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-googleapi-google-shopping-products-scraper", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } }, "/acts/googleapi~google-shopping-products-scraper/runs": { "post": { "operationId": "runs-sync-googleapi-google-shopping-products-scraper", "x-openai-isConsequential": false, "summary": "Executes an Actor and returns information about the initiated run in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/runsResponseSchema" } } } } } } }, "/acts/googleapi~google-shopping-products-scraper/run-sync": { "post": { "operationId": "run-sync-googleapi-google-shopping-products-scraper", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } } }, "components": { "schemas": { "inputSchema": { "type": "object", "properties": { "productUrls": { "title": "Google Shopping product URLs", "maxItems": 100, "type": "array", "description": "Public Google Shopping detail URLs or Google-generated search links containing a #sv= product viewer fragment. Each valid URL requests one product record. Legacy ID-only pages may be unavailable.", "items": { "type": "string", "minLength": 1, "maxLength": 16000 } }, "productUrl": { "title": "Single Google Shopping product URL", "maxLength": 16000, "type": "string", "description": "Convenience input for one public Google Shopping product detail URL." }, "productIds": { "title": "Google Shopping product IDs", "maxItems": 100, "type": "array", "description": "Google Shopping product identifiers. The Actor opens the corresponding public product page.", "items": { "type": "string", "minLength": 1, "maxLength": 300 } }, "productId": { "title": "Single Google Shopping product ID", "maxLength": 300, "type": "string", "description": "Convenience input for one Google Shopping product identifier." }, "queries": { "title": "Shopping search queries", "maxItems": 100, "type": "array", "description": "Search terms. The Actor opens the first product card in each rendered Google Shopping search and extracts its selected product viewer.", "items": { "type": "string", "minLength": 1, "maxLength": 300 } }, "query": { "title": "Single Shopping search query", "maxLength": 300, "type": "string", "description": "Convenience input for one Shopping search term." }, "maxItems": { "title": "Maximum products", "minimum": 1, "maximum": 100, "type": "integer", "description": "Global maximum number of product records to emit across direct inputs and search-result pages.", "default": 10 }, "page": { "title": "First search page", "minimum": 1, "maximum": 10000, "type": "integer", "description": "Starting Google Shopping results page for every search query. Direct product URLs and IDs are unaffected.", "default": 1 }, "maxPages": { "title": "Shopping pages per query", "minimum": 1, "maximum": 100, "type": "integer", "description": "Maximum result pages per query. The first visible product card on each requested page is opened; maxItems remains the global record cap.", "default": 1 }, "countryCode": { "title": "Country code", "pattern": "^[A-Za-z]{2}$", "type": "string", "description": "Two-letter Google Shopping country parameter used for search locale and currency interpretation.", "default": "us" }, "languageCode": { "title": "Language code", "pattern": "^[A-Za-z]{2,3}(-[A-Za-z]{2})?$", "type": "string", "description": "Language or language-region code sent with public Google Shopping page requests.", "default": "en" }, "renderJavaScript": { "title": "Render dynamic product pages", "type": "boolean", "description": "Use a normal headless Chromium page when static HTML does not expose a complete product record. Pages that require special access are treated as unavailable.", "default": true }, "timeoutMs": { "title": "Request timeout (milliseconds)", "minimum": 5000, "maximum": 120000, "type": "integer", "description": "Maximum time for an individual public page request or browser navigation.", "default": 30000 }, "browserWaitMs": { "title": "Page settle time (milliseconds)", "minimum": 0, "maximum": 20000, "type": "integer", "description": "Bounded wait for visible Shopping content after normal browser navigation or product-card selection.", "default": 1800 }, "maxRetries": { "title": "Transient request retries", "minimum": 0, "maximum": 3, "type": "integer", "description": "Additional attempts for transient HTTP or network failures. Access boundaries are not retried.", "default": 1 }, "proxyConfiguration": { "title": "Proxy configuration", "type": "object", "description": "Optional Apify or custom-proxy configuration. Residential proxies are recommended for Google Shopping; proxy routing is applied to both HTTP and browser requests." } } }, "runsResponseSchema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "actId": { "type": "string" }, "userId": { "type": "string" }, "startedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "finishedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "status": { "type": "string", "example": "READY" }, "meta": { "type": "object", "properties": { "origin": { "type": "string", "example": "API" }, "userAgent": { "type": "string" } } }, "stats": { "type": "object", "properties": { "inputBodyLen": { "type": "integer", "example": 2000 }, "rebootCount": { "type": "integer", "example": 0 }, "restartCount": { "type": "integer", "example": 0 }, "resurrectCount": { "type": "integer", "example": 0 }, "computeUnits": { "type": "integer", "example": 0 } } }, "options": { "type": "object", "properties": { "build": { "type": "string", "example": "latest" }, "timeoutSecs": { "type": "integer", "example": 300 }, "memoryMbytes": { "type": "integer", "example": 1024 }, "diskMbytes": { "type": "integer", "example": 2048 } } }, "buildId": { "type": "string" }, "defaultKeyValueStoreId": { "type": "string" }, "defaultDatasetId": { "type": "string" }, "defaultRequestQueueId": { "type": "string" }, "buildNumber": { "type": "string", "example": "1.0.0" }, "containerUrl": { "type": "string" }, "usage": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "integer", "example": 1 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 }, "PROXY_UNBLOCKER_UNITS": { "type": "integer", "example": 0 } } }, "usageTotalUsd": { "type": "number", "example": 0.00005 }, "usageUsd": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "number", "example": 0.00005 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 }, "PROXY_UNBLOCKER_UNITS": { "type": "integer", "example": 0 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Google Shopping Products Scraper from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: