Epic Games Store Scraper
Pricing
Pay per usage
Go to Apify Store
Epic Games Store Scraper
Scrape Epic Games Store offers, free games, deals, releases, demos, coming soon titles, and catalog update metadata with normalized prices and URLs.
Epic Games Store Scraper
Pricing
Pay per usage
Scrape Epic Games Store offers, free games, deals, releases, demos, coming soon titles, and catalog update metadata with normalized prices and URLs.
You can access the Epic Games Store 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 Integrations settings in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "0.1", "x-build-id": "qVKZbcZIAxBdNBOi4" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/newbs~gamescout-epic-scraper/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-newbs-gamescout-epic-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/newbs~gamescout-epic-scraper/runs": { "post": { "operationId": "runs-sync-newbs-gamescout-epic-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/newbs~gamescout-epic-scraper/run-sync": { "post": { "operationId": "run-sync-newbs-gamescout-epic-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", "required": [ "mode" ], "properties": { "platform": { "title": "Platform", "enum": [ "steam", "itch", "gog", "epic" ], "type": "string", "description": "Optional when the actor is deployed as a fixed platform actor." }, "mode": { "title": "Mode", "enum": [ "search", "new_releases", "coming_soon", "demos", "deals", "updates" ], "type": "string", "description": "Discovery signal to collect.", "default": "new_releases" }, "query": { "title": "Search query", "type": "string", "description": "Required for search mode. Also used to narrow browse/deals and resolve update checks when gameId/gameUrl is omitted." }, "category": { "title": "Category or genre", "type": "string", "description": "Optional category/genre filter, for example rpg, action, roguelike, strategy, or a platform-specific category id." }, "gameId": { "title": "Platform game ID", "type": "string", "description": "Optional platform game id for update checks, for example a Steam appid, GOG product id, Epic offer id, or itch game id." }, "gameUrl": { "title": "Game URL", "type": "string", "description": "Optional platform store page URL for update checks." }, "maxItems": { "title": "Max items", "minimum": 1, "maximum": 100, "type": "integer", "description": "Maximum normalized game records to push to the default dataset. When the actor is monetized with the result-item event, this is the maximum billable result count for the run.", "default": 10 }, "countryCode": { "title": "Country code", "type": "string", "description": "Two-letter region for price and availability where the platform supports it.", "default": "US" }, "currencyCode": { "title": "Currency code", "type": "string", "description": "Currency code used for normalized prices when source data omits a currency.", "default": "USD" }, "language": { "title": "Language", "type": "string", "description": "Locale/language requested from platform endpoints.", "default": "en-US" }, "includeDetails": { "title": "Include details", "type": "boolean", "description": "Fetch detail pages/API records when useful and cheap.", "default": true }, "failOnEmpty": { "title": "Fail on empty", "type": "boolean", "description": "Fail the run when no records were found. Disable for expected no-match checks.", "default": false }, "maxPages": { "title": "Max pages", "minimum": 1, "maximum": 25, "type": "integer", "description": "Fallback pagination cap for platforms that do not expose direct filtered endpoints.", "default": 5 }, "outputConnectors": { "title": "MCP output connectors", "minItems": 0, "maxItems": 3, "uniqueItems": true, "type": "array", "description": "Optional MCP connectors that receive the delivered scrape results after the dataset is written. Use this to post results to tools such as Slack, Notion, GitHub, Supabase, or another MCP-compatible destination without giving this Actor your third-party credentials." }, "connectorToolName": { "title": "MCP tool name", "type": "string", "description": "Optional exact MCP tool to call on each selected connector. Leave empty to auto-select a send/post/write/log/create/insert/upsert/append tool from the connector." }, "connectorToolArgumentsJson": { "title": "MCP tool arguments JSON", "type": "string", "description": "Optional JSON object used as the exact MCP tool arguments. Template values are supported: {{markdown}}, {{summaryText}}, {{payloadJson}}, {{recordsJson}}, {{records}}, {{summary}}, {{payload}}, {{runId}}, {{datasetId}}, and {{runUrl}}." }, "connectorDestination": { "title": "Connector destination", "type": "string", "description": "Optional destination identifier used by auto mode, for example a Slack channel ID, database ID, table name, page ID, or another target field required by the connector tool." }, "connectorExportFormat": { "title": "Connector export format", "enum": [ "markdown", "json", "summary" ], "type": "string", "description": "Payload style for automatic MCP connector arguments.", "default": "markdown" }, "connectorMaxItems": { "title": "Connector max items", "minimum": 0, "maximum": 50, "type": "integer", "description": "Maximum delivered records included in the connector payload. This does not change dataset billing; it only limits the connector message size.", "default": 10 }, "connectorFailOnError": { "title": "Fail run if connector export fails", "type": "boolean", "description": "When enabled, the Actor fails if a selected MCP connector cannot be reached or its tool call fails. Leave disabled to keep the scrape successful and inspect connector errors in SUMMARY.", "default": false } } }, "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 } } }, "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 } } } } } } } } }}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 Epic Games Store 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: