CrazyGames Scraper at a glance
CrazyGames Scraper is a ready-to-run Apify actor from abotapi for collecting web data. Its documented output includes game, url, cover, rating and upvotes, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $2.00 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify.
- Runs on
- Apify cloud: console, API, schedules and integrations
- Data type
- Web data
- Pricing
- $2.00 per 1,000 results (Free plan), from $1.00 on paid plans
- Output
- Documented below · JSON, CSV, Excel
- Inputs
- 24 options
- Run success
- 98.5% of completed public runs in the last 30 days
Scrape CrazyGames games with ratings, upvotes and downvotes, total plays and likes, developer, category and tags, descriptions, controls, FAQ, release and update dates, platform support, multiplayer info and store links. Search by keyword, browse categories or the full catalogue, or paste links.
What CrazyGames Scraper can do
- Ratings and popularity in one row. Rating, upvotes, downvotes, rating count, total plays and total likes side by side for every game.
- Full game profile. Developer, category, tags, breadcrumb hierarchy, descriptions, controls, FAQ, release date, last update and game engine.
- Platform and multiplayer coverage. Mobile, iOS, Android, Chromebook and Safari support, app availability, lobby sizes, moderated chat and instant join.
- Four ways in. Keywords, categories or tags, the full catalogue, or pasted game, category, tag, search, new and hot links.
- Useful filters. Minimum rating, minimum plays, release year, multiplayer only, mobile-friendly only, Originals only and hot games only.
- Pay only for what you use. Switch off full game details when play counts and basic info are enough.
Choose what to collect
These inputs let you configure CrazyGames Scraper - Game Ratings, Plays & Details. Open the actor on Apify to enter your values and review the current options.
| Input | What it controls |
|---|---|
modestring · required | Search mode uses keywords, categories, filters and sorting (leave keywords and categories empty to collect the full game catalogue). URL mode uses only the pasted links and ignores every search input. |
searchTermsarray | Game keywords, such as car or minecraft. Each keyword returns the best matching games. Search mode only. |
categoriesarray | Category or tag names as shown in CrazyGames links, such as action, puzzle, io, shooting, driving, 2-player or minecraft. Search mode only. Leave keywords and categories empty to collect every game in the catalogue. |
sortBystring | Order used when browsing categories or the full catalogue. Keyword results always come in best-match order. Search mode only. |
minRatingnumber | Keep games rated at least this value on the 0 to 10 scale. Needs full game details, which are switched on automatically when this is set. Search mode only. |
minTotalPlaysinteger | Keep games played at least this many times. Search mode only. |
minReleaseYearinteger | Keep games released in this year or later. Search mode only. |
Show 17 more inputs
| Input | What it controls |
|---|---|
multiplayerOnlyboolean | Keep only games with online multiplayer. Search mode only. |
mobileFriendlyOnlyboolean | Keep only games that play on phones and tablets. Search mode only. |
originalsOnlyboolean | Keep only games marked as CrazyGames Originals. Search mode only. |
hotOnlyboolean | Keep only games currently labelled hot. Search mode only. |
urlsarray | Multi-URL: game pages (/game/...), category pages (/c/...), tag pages (/t/...), search pages (/search?q=...), the home page, and the /new, /hot, /updated and /multiplayer lists. Filter fields are ignored; results continue from the page in the link (?page=N) and ?sort=new is honoured on category links. Links in other site languages work too. Left untouched, URL mode scrapes one example of each shape. |
maxItemsinteger | Maximum games to save across all searches and links. This is the only default cap. Set 0 for no limit. |
maxPagesinteger | Optional page limit per category, catalogue or link. Leave empty or 0 for unlimited: this does NOT cap the run, Max items does. |
fetchDetailsboolean | Adds rating, upvotes and downvotes, rating count, developer, tags, descriptions, controls, FAQ, release and update dates, game engine, platform support, store links and related game counts. Turn off for play counts and basic game info only. |
resumeFromRunIdstring | Paste a previous run ID or dataset ID to continue an interrupted pull. Games already saved there are skipped: they are not returned and not charged again. For recurring monitoring of the same search, use Incremental changes below instead. Leave empty for a normal run. |
incrementalModeboolean | Turn this on for daily or recurring monitoring. The first run returns every matching game as NEW. Later runs return only NEW and UPDATED games, each with changeType, changedFields, firstSeenAt and lastSeenAt. A game counts as UPDATED when a real field changes (name, tags, description, release or update dates, platform support, labels and similar). Play counts, likes, votes, rating, rating count and the scrape time never count as changes, though they are still returned; add more below. The saved baseline is kept separately for each mode, keywords, categories, links, filters, sort order and details setting; use State key to name or share one. Max items counts only the games returned. |
stateKeystring | Name of the saved baseline. Leave empty to keep one automatically per search setup. Use the same key to share a baseline between runs on purpose. |
emitUnchangedboolean | Off by default. Turn on to also return games that did not change, marked UNCHANGED. They are saved to the dataset like any other row, but never carry the game details surcharge. |
emitExpiredboolean | On by default. When a run reads every selected source to its end (no Max items or Max pages cut, no link starting past page 1, no read failures), games saved in the baseline but no longer listed come back once as EXPIRED. Games that were not seen because a run stopped early are never marked expired. |
ignoreFieldsForChangesarray | Extra field names that must not make a game count as UPDATED, added to the built-in list (totalPlays, totalLikes, upvotes, downvotes, ratingCount, rating, scrapedAt). Ignored fields are still returned. Nested paths such as gamesInSeries.releaseYear also work. |
mcpConnectorsarray | Optionally send results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize one under Apify, Settings, API & Integrations, then select it here. Notion gets a page per game; other connectors get a best-effort write or digest. Each connector receives a condensed summary per game, not the full record; the complete record always stays in the dataset. Leave empty to skip; this never changes the dataset output. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com). |
notionParentPageUrlstring | URL or id of the Notion page under which game pages are created. Required to enable the Notion export; ignored by other connectors. |
maxNotifyListingsinteger | Cap on games written to each connector per run. Does not affect the dataset. |
Fields in the output
The documented dataset includes the fields below. Availability can depend on the source page and selected mode.
nameGame (text)urlURL (link)coverUrlCover (image)ratingRating (number)upvotesUpvotes (number)downvotesDownvotes (number)ratingCountRating count (number)totalPlaysTotal plays (number)totalLikesTotal likes (number)developerDeveloper (text)categoryCategory (text)tagsTags (array)Show 46 more fields
releaseYearRelease year (number)basicLaunchOnReleased on (text)lastSignificantUpdatedOnLast updated (text)loaderTypeLabelGame engine (text)isMultiplayerMultiplayer (boolean)mobileFriendlyMobile friendly (boolean)isOriginalOriginal (boolean)hasIapIn-app purchases (boolean)idGame ID (text)slugslug (text)hierarchyhierarchy (array)descriptionFirstdescriptionFirst (text)descriptionRestdescriptionRest (text)metaDescriptionmetaDescription (text)controlscontrols (array)faqfaq (array)orientationorientation (text)technologytechnology (text)statusstatus (text)isKidsisKids (boolean)iosFriendlyiosFriendly (boolean)androidFriendlyandroidFriendly (boolean)iosAppFriendlyiosAppFriendly (boolean)androidAppFriendlyandroidAppFriendly (boolean)chromebookFriendlychromebookFriendly (boolean)safariFriendlysafariFriendly (boolean)minLobbySizeminLobbySize (text)maxLobbySizemaxLobbySize (text)hasModeratedChathasModeratedChat (boolean)supportsInstantJoinsupportsInstantJoin (boolean)hasLeaderboardhasLeaderboard (boolean)playStoreUrlplayStoreUrl (link)appStoreUrlappStoreUrl (link)steamStoreUrlsteamStoreUrl (link)msnStoreUrlmsnStoreUrl (link)gameSupportUrlgameSupportUrl (link)externalLinksexternalLinks (array)videoUrlvideoUrl (link)previewVideospreviewVideos (array)gamesInSeriesgamesInSeries (array)detailsIncludeddetailsIncluded (text)scrapedAtscrapedAt (date)changeTypechangeType (text)changedFieldschangedFields (array)firstSeenAtfirstSeenAt (date)lastSeenAtlastSeenAt (date)Example output
An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.
{
"id": "77213099",
"name": "Glowmoss Cavern",
"slug": "glowmoss-cavern",
"url": "https://www.crazygames.com/game/glowmoss-cavern",
"rating": 8.7,
"upvotes": 15320,
"downvotes": 1180,
"ratingCount": 16500,
"totalLikes": 15320,
"totalPlays": 3200000,
"developer": "Driftwood Pixel Co",
"developerId": "610044219900",
"category": "Puzzle",
"categorySlug": "puzzle",
"tags": [
{
"name": "Cave",
"slug": "cave",
"gamesCount": 214
}
],
"hierarchy": [
{
"name": "Puzzle",
"slug": "puzzle",
"isCategory": true
}
],
"collection": "cave",
"descriptionFirst": "Glowmoss Cavern is a lantern-lit puzzle adventure through glowing underground tunnels.",
"descriptionRest": "How to play\nLight your lantern and find every glowmoss node before the cavern goes dark.",
"metaDescription": "Glowmoss Cavern is a lantern-lit puzzle adventure through glowing underground tunnels.",
"controls": "Controls\n- Arrow keys to move\n- Space to place a lantern",
"faq": [
{
"question": "Is Glowmoss Cavern free to play?",
"answer": "Yes, it plays free in the browser."
}
],
"addedOn": "2023-05-12",
"basicLaunchOn": "2023-05-11",
"releaseYear": 2023,
"lastFileUpdatedOn": "2026-02-03",
"lastSignificantUpdatedOn": "2026-02-03",
"loaderType": "unity",
"loaderTypeLabel": "Unity 2022",
"technology": "iframe",
"orientation": "LANDSCAPE",
"status": "PUBLISHED",
"isKids": false,
"isOriginal": false,
"hasIap": false,
"gameThumbLabels": [
"top-rated-desktop"
],
"mobileFriendly": true,
"iosFriendly": true,
"androidFriendly": true,
"iosAppFriendly": false,
"androidAppFriendly": false,
"chromebookFriendly": true,
"safariFriendly": true,
"isMultiplayer": true,
"minLobbySize": 2,
"maxLobbySize": 4,
"hasModeratedChat": false,
"supportsInstantJoin": true,
"hasLeaderboard": true,
"playStoreUrl": null,
"appStoreUrl": null,
"steamStoreUrl": null,
"msnStoreUrl": null,
"gameSupportUrl": null,
"externalLinks": null,
"videoUrl": null,
"coverUrl": "https://imgs.crazygames.com/glowmoss-cavern_16x9/cover",
"covers": {
"16x9": "https://imgs.crazygames.com/glowmoss-cavern_16x9/cover"
},
"previewVideos": {
"original": "https://videos.crazygames.com/glowmoss-cavern/1/glowmoss-cavern.mp4",
"portraitOriginal": null,
"landscape": [],
"portrait": []
},
"desktopUrl": "https://games.crazygames.com/en_US/glowmoss-cavern/index.html",
"allowEmbed": true,
"gamesInSeries": [],
"numRelatedGames": 48,
"detailsIncluded": true,
"scrapedAt": "2026-02-03T00:00:00+00:00"
}Ways to use this data
- Game discovery sites and app catalogues: build a searchable listing of browser games with ratings, categories and platform support.
- Market and trend research: track how many plays and likes games in a category get, and which developers and engines dominate it.
- Competitive and portfolio tracking: watch a developer's catalogue for new releases, updated games and rating changes over time.
- Recommendation and curation tools: filter for multiplayer, mobile-friendly or highly rated games to build themed lists.
Before you run
Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.
Questions about this actor
What data does CrazyGames Scraper return?
The documented output for CrazyGames Scraper includes game, url, cover, rating, upvotes, downvotes, rating count and total plays. Availability of each field depends on the source page and the selected mode.
How much does CrazyGames Scraper cost?
It costs $2.00 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.
Why did category or catalogue browsing return fewer games than I expected?
Check Max items first; it is the only cap that limits the run, and it is shared across every keyword, category or link you gave it. Max pages, if set, stops a single category, the catalogue or a link after that many listing pages regardless of Max items. Filters such as minimum rating or multiplayer only also narrow the result after the listing is read.
Why did my run finish with an empty dataset?
If a keyword, category or link cannot be read even after every retry and connection switch, that source is skipped with a warning in the run log and the other sources continue. If pages loaded but none of your keywords, categories or links returned a game, the dataset is empty and the run status notes that no games matched. If no page at all could be loaded, the run fails with a connection message (see Plan Requirement) instead of reporting an empty result. Check the log for which source could not be read, then adjust the input or run it again.
Can I use it with AI agents or MCP?
Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear or Airtable.
