Discover/itch API
live

itch 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.

Endpoint health
verified 7d ago
browse_games
get_game_details
get_game_comments
get_featured_games
get_creator_profile
8/8 passing latest checkself-healing
Endpoints
8
Updated
22d ago

What is the itch 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.

Try it
Filter by tag slug (e.g. horror, roguelike, puzzle, 2d, 3d, pixel-art).
Page number for pagination.
Sort order for results.
Filter type to narrow results by category.
api.parse.bot/scraper/f384d396-3711-487f-b2b9-165792feabc5/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/f384d396-3711-487f-b2b9-165792feabc5/browse_games?tag=horror&page=1&sort=new&filter_type=top-sellers' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace itch-io-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: itch.io SDK — browse, search, drill into game details and comments."""
from parse_apis.itch_io_scraper_api import Itch, FilterType, JamStatus, ResourceNotFound

client = Itch()

# Browse free games with the FilterType enum
for game in client.gamesummaries.browse(filter_type=FilterType.FREE, limit=3):
    print(game.title, game.price, game.creator.name)

# Search for games by keyword, take one result and drill into details
game = client.gamesummaries.search(query="horror", limit=1).first()
if game:
    detail = game.details()
    print(detail.title, detail.price, detail.rating.value, detail.tags)

    # Walk comments on that game
    for comment in game.comments.list(limit=3):
        print(comment.user.name, comment.date, comment.text[:60])

# Browse upcoming game jams using the JamStatus enum
for jam in client.jams.browse(status=JamStatus.UPCOMING, limit=3):
    print(jam.title, jam.host, jam.timing)

# Typed error handling: try to get a non-existent game
try:
    client.games.get(url="https://nobody.itch.io/nonexistent-game-xyz")
except ResourceNotFound as exc:
    print(f"Not found: {exc.url}")

# List all tags
for tag in client.tags.list(limit=5):
    print(tag.name, tag.url)

print("exercised: gamesummaries.browse / gamesummaries.search / game.details / game.comments.list / jams.browse / games.get / tags.list")
All endpoints · 8 totalmissing one? ·

Browse games on itch.io with various filters and sorting options. Returns paginated results with game metadata including title, creator, price, platforms, and thumbnails. The server returns an HTML fragment parsed into structured game objects. Pagination uses integer page numbers; an empty games array signals the end.

Input
ParamTypeDescription
tagstringFilter by tag slug (e.g. horror, roguelike, puzzle, 2d, 3d, pixel-art).
pageintegerPage number for pagination.
sortstringSort order for results.
filter_typestringFilter type to narrow results by category.
Response
{
  "type": "object",
  "fields": {
    "games": "array of GameSummary objects",
    "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://bodinhe.itch.io/takecareofthedog",
          "genre": "Adventure",
          "price": "Free",
          "title": "TAKE CARE OF THE DOG",
          "creator": {
            "url": "https://bodinhe.itch.io",
            "name": "bodinhe"
          },
          "game_id": "4493268",
          "platforms": [
            "Windows"
          ],
          "thumbnail": "https://img.itch.zone/aW1nLzI3MDYzNjM3LnBuZw==/315x250%23c/ofBc9%2F.png",
          "sale_discount": null,
          "description_short": "a very short story about DOG."
        }
      ],
      "has_more": true,
      "total_items": 36,
      "current_page": 1
    },
    "status": "success"
  }
}

About the itch API

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.

Reliability & maintenanceVerified

The itch API is a managed, monitored endpoint for itch.io — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when itch.io changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official itch.io API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
7d ago
Latest check
8/8 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a game discovery feed filtered by tag (e.g. roguelike) and sorted by popular, surfacing price, sale_discount, and platforms for each result.
  • Track active game jams using browse_game_jams with status=in-progress, showing participant count and whether the jam is ranked.
  • Aggregate creator portfolios by resolving get_creator_profile for a list of URLs, collecting bio, social_links, and published games.
  • Monitor community sentiment on a game by polling get_game_comments with cursor-based pagination and recording votes and date per comment.
  • Enumerate the full itch.io tag taxonomy via get_all_tags to power autocomplete or validate tag slugs for browse_games requests.
  • Compile a dataset of free and on-sale games by combining filter_type=free and filter_type=on-sale across browse_games pages.
  • Extract file availability and supported platforms per game using the files array from get_game_details to compare download options.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does itch.io have an official developer API?+
Yes. itch.io publishes an official API documented at https://itch.io/docs/api/overview, primarily focused on OAuth and purchase verification for game developers. It does not expose public game browsing, jam listings, or comment data at the scope this API covers.
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?+
The 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?+
No. The API covers public data: game listings, details, comments, creator profiles, jams, and tags. User-specific data such as libraries, purchase history, wishlists, and owned games are not exposed. You can fork this API on Parse and revise it to add an endpoint if itch.io exposes that data through a public surface.
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.
Page content last updated . Spec covers 8 endpoints from itch.io.
Related APIs in MarketplaceSee all →
store.epicgames.com API
Access data from store.epicgames.com.
opencritic.com API
Find and compare video game reviews and critic scores from industry experts, search games by title or filters, and browse detailed metadata including platforms, tags, and the latest releases. Get aggregated ratings and comprehensive review information to discover games and make informed purchasing decisions.
poki.com API
Discover and browse thousands of free online games with detailed information about genres, popularity, and platform compatibility. Find new games by exploring categories or searching through Poki's complete game catalog to access metadata and recommendations.
g2a.com API
Search for game keys and get real-time pricing, seller ratings, and detailed product information from G2A's marketplace. Browse available categories and find the best deals on digital game licenses from verified sellers.
allkeyshop.com API
Search for games and compare CD key prices across multiple sellers to find the best deals, while tracking price history and viewing detailed store information. Get instant access to current game offers and pricing data to make informed purchasing decisions.
humblebundle.com API
Browse and search Humble Bundle's store products, view active bundles with detailed information, and check the latest Humble Choice monthly games and free offerings. Get instant access to current pricing, bundle contents, and game availability to find the best deals.
store.steampowered.com API
Search Steam Store listings, fetch featured categories (specials, top sellers, new releases), and retrieve app details and user reviews by Steam AppID.
funpay.com API
Browse and monitor gaming marketplace listings and prices on FunPay.com. Search for games and categories, view current listings and pricing, explore the full game directory alphabetically, and look up seller profiles to research reputation and active offers.