Discover/CrazyGames API
live

CrazyGames APIcrazygames.com

Search games, get game details, and list games by tag or category from CrazyGames. Returns ratings, tags, developer info, platform support, and more.

This API takes change requests — .
Endpoint health
verified 9h ago
search_games
list_games_by_tag
get_game_details
3/3 passing latest checkself-healing
Endpoints
3
Updated
9h ago

What is the CrazyGames API?

The CrazyGames API provides 3 endpoints for searching and browsing the CrazyGames catalog of free online games. The search_games endpoint returns a mixed list of matching games and tag/category results in a single call. Responses include game slugs, ratings on a 0–10 scale, category and tag assignments, upvote counts, and platform support details — all without pagination overhead on the search side.

This call costs1 credit / call— charged only on success
Try it
Maximum number of results to return (1–100).
Search keyword (e.g. 'racing', 'puzzle', 'multiplayer').
api.parse.bot/scraper/9db852ce-19ab-4d8e-875e-794b6fd7492e/<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/9db852ce-19ab-4d8e-875e-794b6fd7492e/search_games?query=racing' \
  -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 crazygames-com-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: CrazyGames SDK — discover tags, browse games, fetch details."""
from parse_apis.crazygames_com_api import CrazyGames, InputNotFound

client = CrazyGames()

# Search for a keyword; results mix games and tags.
for result in client.search_results.search(query="racing", limit=5):
    print(result.name, result.record_type)

# Find a tag result to browse its games.
tag_result = next(
    (r for r in client.search_results.search(query="racing", limit=10)
     if r.record_type == "tag"),
    None,
)

if tag_result is not None:
    # List games under that tag, capped at 3 items.
    for game_summary in client.game_summaries.list_by_tag(
        tag_slug=tag_result.slug, limit=3
    ):
        print(game_summary.name, game_summary.total_plays)

    # Drill into the first game's full details via the summary navigation.
    first_game = client.game_summaries.list_by_tag(
        tag_slug=tag_result.slug, limit=1
    ).first()
    if first_game is not None:
        detail = first_game.details()
        print(detail.name, detail.rating, detail.developer)
        print("Tags:", [t.name for t in detail.tags])

# Point lookup by slug with error handling.
try:
    game = client.games.get(slug="racing-limits")
    print(game.name, game.category.name, game.has_multiplayer)
except InputNotFound:
    print("Game not found")

print("exercised: search / list_by_tag / details / get")
All endpoints · 3 totalmissing one? ·

Search for games by keyword. Returns a mixed list of game results and matching tags/categories. Each game result includes its slug for use with get_game_details, and each tag result includes its slug for use with list_games_by_tag. One API call, no pagination — the upstream search returns up to `limit` results in a single response.

Input
ParamTypeDescription
limitintegerMaximum number of results to return (1–100).
queryrequiredstringSearch keyword (e.g. 'racing', 'puzzle', 'multiplayer').
Response
{
  "type": "object",
  "fields": {
    "query": "The search query that was used",
    "results": "Array of game and tag/category results",
    "total_results": "Number of results returned"
  },
  "sample": {
    "data": {
      "query": "racing",
      "results": [
        {
          "id": "72970258-da9f-4382-9c61-aa88b95685db",
          "name": "Racing",
          "slug": "racing",
          "is_category": false,
          "record_type": "tag",
          "total_games": 128
        },
        {
          "id": "22275",
          "name": "Racing Limits",
          "slug": "racing-limits",
          "labels": [
            "originals"
          ],
          "cover_url": "https://imgs.crazygames.com/racing-limits_16x9/20250711091800/racing-limits_16x9-cover",
          "record_type": "game",
          "mobile_friendly": true
        }
      ],
      "total_results": 10
    },
    "status": "success"
  }
}

About the CrazyGames API

Endpoints and What They Return

The API covers three operations. search_games accepts a query string and an optional limit (1–100) and returns a flat array of results where each item carries a record_type — either a game or a tag/category. Game results include the slug field used to fetch full details; tag results include a slug used to paginate that tag's full game list. The endpoint returns all results in one call with no pagination.

get_game_details takes a slug and returns the full metadata for a single game: name, url, id, rating (0–10), upvotes, added_on date, the primary category object (name and slug), an array of tags (each with name, slug, and games_count), and labels such as originals or updated. This is the right endpoint when you need structured data about a specific title.

Browsing by Tag or Category

list_games_by_tag accepts a tag_slug and an optional page number, returning up to 60 game summaries per page. The response includes total_games, has_more, tag_name, and tag_slug alongside the games array. Tag slugs are discoverable from search_games results with record_type='tag' or from the tags and category fields returned by get_game_details.

Coverage Notes

All three endpoints reflect the CrazyGames public catalog. The added_on field provides a YYYY-MM-DD date for each game, which is useful for filtering recently added titles when combined with list_games_by_tag pagination. Fields like developer name and multiplayer info are returned by get_game_details but are not surfaced in the summary objects returned by list_games_by_tag or search_games — fetching full details requires a separate get_game_details call per game.

Reliability & maintenanceVerified

The CrazyGames API is a managed, monitored endpoint for crazygames.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when crazygames.com 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 crazygames.com 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
9h ago
Latest check
3/3 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 slug and sorted by rating.
  • Aggregate upvote counts and ratings across a category to rank top-performing games.
  • Monitor the added_on field across paginated tag results to surface recently added games.
  • Resolve a user's free-text query into a tag slug via search_games, then paginate that tag with list_games_by_tag.
  • Enrich a game database with category, tags, and label metadata using get_game_details.
  • Identify which tags have the largest games_count to understand catalog depth by genre.
  • Build a cross-reference between game slugs and their associated tags for a recommendation engine.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does CrazyGames have an official developer API?+
CrazyGames offers a developer program aimed at game developers who want to publish games on the platform (docs at developers.crazygames.com), but it does not provide a public data API for querying the game catalog. The Parse API fills that gap.
What does search_games return and how does it differ from list_games_by_tag?+
search_games returns a mixed array of game and tag/category results for a keyword in a single unpaginated call. Each result has a record_type field to distinguish the two. list_games_by_tag returns only game summaries for a specific tag slug and supports pagination (up to 60 games per page), with total_games and has_more fields to manage traversal.
Can I retrieve player counts, comments, or user review text for a game?+
Not currently. get_game_details covers rating score, upvote count, tags, labels, category, and publication date. It does not expose individual user reviews, comment threads, or concurrent player counts. You can fork this API on Parse and revise it to add an endpoint targeting that data.
Are there any limitations when using list_games_by_tag for large categories?+
Each page returns at most 60 games, and the has_more field tells you whether additional pages exist. The total_games field gives the full count upfront. For categories with hundreds of games, you will need multiple sequential calls incrementing the page parameter to collect the full set.
Does get_game_details return the game's embed URL or asset URLs (thumbnails, screenshots)?+
The endpoint returns the canonical url field pointing to the game's CrazyGames page, along with metadata like name, slug, rating, and tags. Direct embed URLs or CDN-hosted thumbnail and screenshot assets are not currently included in the response. You can fork this API on Parse and revise it to expose those asset fields.
Page content last updated . Spec covers 3 endpoints from crazygames.com.
Related APIs in EntertainmentSee all →
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.
boardgamegeek.com API
Access data from boardgamegeek.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.
metacritic.com API
Search for games, movies, and TV shows, then retrieve detailed metadata, critic and user reviews, and ranked lists from Metacritic. Access comprehensive rating information and review data to discover top-rated entertainment content across all media types.
gg.deals API
Search for games and browse current deals across multiple stores while tracking price history to find the best discounts. Get detailed pricing information and historical price data to make informed purchasing decisions.
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.
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.
gamespot.com API
Retrieve GameSpot reviews and detailed review information to read professional game critiques, browse user comments on those reviews, and check upcoming game release schedules. Stay informed about new game launches and community discussions all in one place.