itch.io APIitch.io ↗
Access itch.io game listings, creator profiles, game jams, comments, and tags via a structured JSON API. 8 endpoints covering search, browse, and detail data.
curl -X GET 'https://api.parse.bot/scraper/f384d396-3711-487f-b2b9-165792feabc5/browse_games?tag=horror&page=1&sort=popular' \ -H 'X-API-Key: $PARSE_API_KEY'
Browse games on itch.io with various filters and sorting options. Returns paginated results with game metadata including title, creator, price, platforms, and thumbnails.
| Param | Type | Description |
|---|---|---|
| tag | string | Filter by tag slug (e.g. horror, roguelike, puzzle, 2d, 3d, pixel-art) |
| page | integer | Page number for pagination. |
| sort | string | Sort order: new, popular. |
| filter_type | string | Filter type: top-sellers, new-and-popular, most-recent, free, on-sale. |
{
"type": "object",
"fields": {
"games": "array of game objects with game_id, title, url, creator, description_short, genre, platforms, price, sale_discount, thumbnail",
"has_more": "boolean indicating if more pages are available",
"total_items": "integer total number of matching items",
"current_page": "integer current page number"
},
"sample": {
"data": {
"games": [
{
"url": "https://boredleviathan.itch.io/human-shaped",
"genre": "Simulation",
"price": "$2.99",
"title": "Human Shaped",
"creator": {
"url": "https://boredleviathan.itch.io",
"name": "Bored Leviathan"
},
"game_id": "4487381",
"platforms": [
"Windows"
],
"thumbnail": "https://img.itch.zone/aW1nLzI2ODM4NjExLmdpZg==/315x250%23c/XG5OcA.gif",
"sale_discount": "In bundle",
"description_short": "It looks like you."
}
],
"has_more": true,
"total_items": 36,
"current_page": 1
},
"status": "success"
}
}About the itch.io API
The itch.io API provides 8 endpoints for retrieving structured data from itch.io, covering game listings, creator profiles, game jams, comments, and tag taxonomies. browse_games returns paginated game objects with title, price, platforms, sale discount, and thumbnail across filter types like top-sellers, free, and on-sale. get_game_details expands any listing into its full description, file manifest, rating, and metadata. browse_game_jams exposes upcoming, in-progress, and past jams with participant counts and ranking status.
Game Discovery and Search
browse_games accepts a tag slug (e.g. horror, roguelike, pixel-art), a sort value (new or popular), and a filter_type (top-sellers, free, on-sale, new-and-popular, most-recent), returning paginated arrays with game_id, title, url, creator, description_short, genre, platforms, price, sale_discount, and thumbnail. The response includes has_more, total_items, and current_page for pagination control. search_games takes a free-text query and page number, returning the same game object shape alongside the echoed query field.
Game Detail and Comments
get_game_details takes a full game URL and returns the complete description, a tags array, a files array (each with name, size, and platforms), a rating object with value (0–5 float) and count, a creator object with name and url, and a metadata key-value map covering fields like Status, Genre, and Platforms. get_game_comments retrieves comments in reverse chronological order; each comment carries user (name and URL), text, date, votes, and post_id. Pagination is cursor-based: pass the next_token from one response as the before parameter in the next call to walk backward through older comments.
Creators, Jams, and Taxonomy
get_creator_profile resolves a creator's itch.io page URL into name, bio, social_links (each with name and url), and a games array of their published titles. browse_game_jams filters by status (upcoming, in-progress, past, starting-this-week, starting-this-month), returning jam title, url, host, host_url, timing, participant count as joined, and a ranked boolean. get_all_tags returns the complete flat list of tag objects with name and url, useful for building tag-aware browse flows or validating slugs before passing them to browse_games. get_featured_games requires no parameters and returns the current front-page featured set.
- Build a game discovery feed filtered by tag (e.g.
roguelike) and sorted bypopular, surfacingprice,sale_discount, andplatformsfor each result. - Track active game jams using
browse_game_jamswithstatus=in-progress, showing participant count and whether the jam is ranked. - Aggregate creator portfolios by resolving
get_creator_profilefor a list of URLs, collectingbio,social_links, and publishedgames. - Monitor community sentiment on a game by polling
get_game_commentswith cursor-based pagination and recordingvotesanddateper comment. - Enumerate the full itch.io tag taxonomy via
get_all_tagsto power autocomplete or validate tag slugs forbrowse_gamesrequests. - Compile a dataset of free and on-sale games by combining
filter_type=freeandfilter_type=on-saleacrossbrowse_gamespages. - Extract file availability and supported platforms per game using the
filesarray fromget_game_detailsto compare download options.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does itch.io have an official developer API?+
How does pagination work for game comments?+
get_game_comments uses cursor-based pagination rather than page numbers. Each response includes a next_token string. Pass that value as the before parameter in your next request to retrieve the next batch of older comments. When next_token is null, you have reached the oldest available comments.What does the `metadata` object in `get_game_details` contain?+
metadata field is a key-value map of structured attributes from the game page — typically fields like Status, Platforms, Genre, Release Date, and similar. The exact keys vary by game; not every game populates every metadata field.Does the API return user library or purchase history data?+
Can I retrieve individual game jam details, such as submissions or rules?+
browse_game_jams returns high-level jam metadata: title, host, timing, participant count, and ranked status. Per-jam submission lists, rules text, or prize details are not currently covered. You can fork this API on Parse and revise it to add a dedicated jam detail endpoint.