Epic Games Scraper avatar

Epic Games Scraper

Pricing

from $0.007 / actor start

Go to Apify Store
Epic Games Scraper

Epic Games Scraper

Scrapes game listings and news articles from the Epic Games Store. Supports optional full detail enrichment (system requirements, screenshots, tag groups) per game.

Pricing

from $0.007 / actor start

Rating

0.0

(0)

Developer

Salman Asu

Salman Asu

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Epic Games Store Scraper (Apify Actor v3)

Scrapes game listings and news articles from the Epic Games Store using its internal GraphQL and REST APIs.


Project structure

src/
├── main.js Entry point — dispatches to list or news mode
├── scraper/
│ ├── list.js Paginated game list (async generator, searchStoreQuery)
│ ├── gameDetails.js 3-step per-game enrichment → single flat output record
│ ├── catalog.js Standalone getCatalogOffer fetcher (used by gameDetails)
│ └── news.js Paginated EGS blog-posts (async generator, REST API)
└── utility/
├── http.js All raw API calls + exponential back-off retry
├── tags.js Platform/genre tag maps, VALID_COUNTRIES, PRICE_OPTIONS
└── transform.js Pure data transforms — list, config, catalog, news, merge

Input fields

FieldTypeDefaultDescription
modedropdownlistlist = game listings · news = blog articles
keywordstext""Search term to filter game results
fetchDetailstogglefalseEnrich each game with config + catalog data (2–3 extra API calls per game)
platformsdropdown["windows"]Windows · Mac · iOS · Android
genresdropdown[]18 genres, multi-select, OR-combined
priceFilterdropdown0-75000Free only · Under ₹750 · Above ₹1,099
countrydropdownININ · US · GB · DE
startPagenumber0Zero-based page index for game list (40 results/page)
maxPagesnumber1Number of game list pages to fetch
newsStartPagenumber0Zero-based page index for news articles (10 articles/page)
newsMaxPagenumber1Number of news pages to fetch

Modes

list (default)

Fetches pages of game listings. When Fetch full detail info is enabled, each game goes through a 3-step enrichment chain before being saved.

{
"mode": "list",
"startPage": 0,
"maxPages": 3,
"platforms": ["windows"],
"genres": ["action", "rpg"],
"priceFilter": "0-75000",
"country": "IN",
"keywords": "",
"fetchDetails": true
}

news

Fetches EGS blog-post articles from the content REST API.

{
"mode": "news",
"newsStartPage": 0,
"newsMaxPage": 3
}

Endpoint: GET https://store-content-ipv4.ak.epicgames.com/api/en-US/content/blog-posts?count=10&start=0


Detail enrichment — 3-step API chain

Activated when fetchDetails: true in list mode.

StepOperationInputAdds to output
1getMappingByPageSlugofferPageSlug_mapping (sandboxId, productId, offerId)
2getStoreConfigsandboxIdshortDescription, legalText, socialLinks, supportedAudio, supportedText, theme, logo, icon, systemRequirements
3getCatalogOfferofferId + sandboxIdlongDescription, screenshots, videos, allImages, genres, platforms, features, refundType, countriesBlacklist, catalog_price

All output is flat — no nested sub-objects.


priceFilter behaviour

ValueAPI effect
freeSets freeGame: true in query (no priceRange)
0-75000Sets priceRange: "(0, 75000)"
more-than-109900Sets priceRange: "[109900,]"

Tag maps

Platforms

Dropdown valueEpic tag ID
windows9547
mac10719
ios39070
android39071

Genres

Dropdown valueTagDropdown valueTag
action1216horror1218
action-adventure1336open-world1307
adventure1117puzzle1298
card-game1181racing1212
casual1296rpg1367
comedy1116simulation1393
exploration1381space1121
fantasy1287sports1283
fighting1344survival1080

GraphQL operations & hashes

OperationHash
searchStoreQuery7d58e12d…437
getMappingByPageSlug781fd69e…f30
getStoreConfig6a3c3cf3…716
getCatalogOfferec112951…26e

All GraphQL → https://store.epicgames.com/graphql (GET, persisted-query) News REST → https://store-content-ipv4.ak.epicgames.com/api/en-US/content/blog-posts