itch.io Games Scraper
Pricing
from $0.56 / 1,000 results
itch.io Games Scraper
Indie game listings from itch.io: browse any genre/tag/platform/free page, with title, author, price and platforms from the list, plus optional full detail per game (price, rating, tags, tools used, dev status, description).
Pricing
from $0.56 / 1,000 results
Rating
0.0
(0)
Developer
Ibnu Adzim
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 hours ago
Last modified
Categories
Share
Indie game listings from itch.io — browse any genre/tag/platform/free page, with optional full detail per game.
What you get
browseUrls — one SEARCH_SUMMARY + N GAME rows per browse URL.
Each GAME row always has the list-card fields (title, author, price
tag text, genre, platforms, thumbnail). When includeGameDetails is on
(default), it's enriched with price/rating (product, raw JSON-LD),
the full info panel (infoPanel: dev status, tags, tools used,
languages, playtime, etc. — whatever itch.io's own table shows for that
game), and fullDescription.
Pagination is real and honest here — ?page=N genuinely advances and
ends with a real 404, not a clamp — so a browse URL with more results
than one page pages through them automatically up to
maxItemsPerQuery.
Input
{"browseUrls": ["https://itch.io/games/free"],"includeGameDetails": true,"maxItemsPerQuery": 36}
browseUrls— any itch.io/games...URL. This actor doesn't build filter URLs itself (itch.io has too many genre/tag/platform/ price/sort combinations to reinvent) — browse itch.io in your browser and paste the resulting URL.includeGameDetails—truecosts one extra request per returned row for price/rating/full detail;falsereturns list-card fields only.maxItemsPerQuery— caps rows per browse URL, paging as needed (36 rows/page, itch.io's own page size).
Known limits
1. browseUrls must be a real itch.io /games... path. Other
paths (including /search, which itch.io's own robots.txt disallows)
are refused before any request.
2. Price absence means free, not "$0.00". A game's price tag is
simply not present in the list card when the game is free — this
actor's priceTag field is None for those, not a zero-value string.
3. product and infoPanel are raw, not flattened. infoPanel's
keys are itch.io's own row labels for that specific game (varies —
"Average session" only appears if the developer disclosed a playtime
estimate, for example), not a fixed schema.
Errors are honest, no disguised-200 traps
An invalid browse URL (e.g. a genre that doesn't exist) gets a genuine
404 → ERROR row, not a silent fallback to a different listing. A game
removed between the list fetch and the detail fetch is reported per-row
via _detailError, without failing the whole query.
Anti-bot posture
None encountered. 3/3 curl_cffi TLS profiles clean 200 on both the
main itch.io host and a creator subdomain detail page.
Policy
https://itch.io/robots.txt has a single User-agent: * group —
/games... browse paths and creator subdomains are not disallowed
(only /search, /embed/, /checkout/, and a few purchase/download
paths this actor never touches).