Discover/G2A API
live

G2A APIg2a.com

Search G2A's product catalog, compare seller offers with ratings, and browse category trees via a structured JSON API. 3 endpoints covering products, offers, and categories.

Endpoint health
verified 6d ago
get_categories
search_products
get_product_details
3/3 passing latest checkself-healing
Endpoints
3
Updated
22d ago

What is the G2A API?

The G2A API provides 3 endpoints for querying G2A.com's digital marketplace: search the full product catalog with search_products, retrieve per-product seller offers and ratings with get_product_details, and pull the complete category tree with get_categories. Each search result carries up to 18 products per page and exposes fields like price, platform, region, stock status, and seller count.

Try it
Page number for pagination (1-based)
Search keyword (e.g. 'elden ring', 'windows 11')
api.parse.bot/scraper/e5220466-1443-45c1-ae07-fa5af85274ff/<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/e5220466-1443-45c1-ae07-fa5af85274ff/search_products?page=1&query=elden+ring' \
  -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 g2a-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.

"""G2A SDK — search game keys, compare seller prices, browse categories."""
from parse_apis.g2a_api import G2A, ProductNotFound

client = G2A()

# Search for game keys — limit caps total items fetched across pages.
for product in client.products.search(query="elden ring", limit=5):
    print(product.name, product.price, product.currency, product.platform)

# Drill down: take one product, fetch full details with seller offers.
product = client.products.search(query="cyberpunk", limit=1).first()
if product:
    detail = product.details()
    print(detail.product.name, detail.product.rating)
    for offer in detail.offers[:3]:
        print(offer.seller_name, offer.price, offer.seller_rating_percent)

# Browse categories — single-page fetch.
for cat in client.categories.list(limit=4):
    print(cat.name, len(cat.subcategories), "subcategories")

# Typed error handling for a missing product.
try:
    bad = client.product(slug="nonexistent-game-i9999999999999").details()
except ProductNotFound as exc:
    print(f"Product not found: {exc.slug}")

print("exercised: products.search / product.details / categories.list / ProductNotFound")
All endpoints · 3 totalmissing one? ·

Full-text search over G2A's product catalog. Returns a paginated list of products matching the query, each with pricing, platform, region, and stock info. Up to 18 items per page. Paginates via integer page counter. Returns has_next to indicate more pages available.

Input
ParamTypeDescription
pageintegerPage number for pagination (1-based)
queryrequiredstringSearch keyword (e.g. 'elden ring', 'windows 11')
Response
{
  "type": "object",
  "fields": {
    "page": "current page number (integer)",
    "has_next": "boolean indicating whether more pages are available",
    "products": "array of product objects with name, id, slug, price, currency, platform, region, type, sellers_count, stock_status",
    "total_results": "total number of results across all pages (integer)",
    "items_per_page": "number of items per page (typically 18)"
  },
  "sample": {
    "data": {
      "page": 1,
      "has_next": true,
      "products": [
        {
          "id": "10000273674023",
          "name": "Elden Ring PC",
          "slug": "elden-ring-pc-steam-account-account-global-i10000273674023",
          "type": "Account",
          "price": "28.06",
          "region": "GLOBAL",
          "currency": "USD",
          "platform": "Steam",
          "stock_status": "AVAILABLE",
          "sellers_count": 10
        },
        {
          "id": "10000273674037",
          "name": "Elden Ring PC",
          "slug": "elden-ring-pc-steam-key-united-states-i10000273674037",
          "type": "Key",
          "price": "54.29",
          "region": "UNITED STATES",
          "currency": "USD",
          "platform": "Steam",
          "stock_status": "AVAILABLE",
          "sellers_count": 13
        }
      ],
      "total_results": 232,
      "items_per_page": 18
    },
    "status": "success"
  }
}

About the G2A API

Product Search and Pagination

The search_products endpoint accepts a query string (e.g. 'elden ring', 'windows 11') and an optional integer page parameter for 1-based pagination. Each response returns the current page, a has_next boolean, total_results across all pages, items_per_page (typically 18), and a products array. Each product object includes name, id, slug, price, currency, platform, region, type, sellers_count, and stock_status. The slug field is what you pass to the next endpoint for full details.

Seller Offers and Product Details

get_product_details takes a slug from search results and returns two top-level objects. The product object holds name, rating, reviews_count, image, base_title, and description. The offers array contains every active seller listing, each with id, price, currency, seller_name, seller_rating_percent, seller_positives, seller_negatives, and seller_or (overall rating score). This makes it straightforward to rank sellers by reputation or find the cheapest offer for a specific title.

Category Tree

get_categories requires no input parameters and returns the complete categories array from G2A's navigation. Each top-level category object includes name, slug, and a subcategories array where each entry also carries name and slug. Top-level buckets include Gaming, Software, Subscriptions, and Gift Cards. The slugs returned here are not directly passable to the other endpoints but provide a reference map of how G2A organizes its catalog.

Reliability & maintenanceVerified

The G2A API is a managed, monitored endpoint for g2a.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when g2a.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 g2a.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
6d 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
  • Track price fluctuations for a specific game key across multiple G2A sellers using search_products and get_product_details
  • Build a price comparison tool that ranks sellers by seller_rating_percent and price for a given product slug
  • Monitor stock_status across a watchlist of game titles to alert users when items come back in stock
  • Aggregate sellers_count and price across search result pages to analyze market depth for a game category
  • Map G2A's full category hierarchy via get_categories to build a browsable storefront or directory
  • Filter search results by platform or region fields to surface region-specific key availability
  • Calculate seller trust scores by combining seller_positives, seller_negatives, and seller_rating_percent from offer objects
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 G2A have an official public developer API?+
G2A does offer a partner/affiliate API for approved partners, documented at https://www.g2a.com/integration/affiliate. It is not a self-serve public API; access requires an application and approval. This Parse API provides structured data access without that process.
What does get_product_details return beyond the basic search data?+
get_product_details returns the full offers array for a product, which search results do not include. Each offer exposes individual seller fields — seller_name, seller_rating_percent, seller_positives, seller_negatives, and seller_or — alongside price and currency. The product object also adds description, rating, reviews_count, and image, which are absent from search_products results.
Can I filter search results by platform or region directly in the API?+
The search_products endpoint accepts only query and page as inputs; there are no dedicated filter parameters for platform or region. Both platform and region are present as fields in each returned product object, so filtering must be applied client-side after fetching results. You can fork this API on Parse and revise it to add server-side filter parameters if you need pre-filtered responses.
Does the API cover user reviews or review text for products?+
Not currently. get_product_details returns aggregate rating and reviews_count for a product, but individual review text and reviewer metadata are not exposed by any of the three endpoints. You can fork this API on Parse and revise it to add a review-detail endpoint if per-review content is required.
How does pagination work in search_products, and are there any limits?+
Pagination is 1-based via the integer page parameter. Each page returns up to 18 items (items_per_page). The response includes total_results so you can calculate the total page count, and has_next as a direct boolean to check whether another page exists. There is no built-in parameter to change the page size.
Page content last updated . Spec covers 3 endpoints from g2a.com.
Related APIs in MarketplaceSee all →
cdkeys.com API
Search and browse digital game keys across thousands of titles, view product details, pricing, and discover best sellers and latest releases from CDKeys. Filter games by category, compare options, and stay updated on the newest game key listings available.
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.
gamestop.com API
Search GameStop's catalog for games and merchandise, browse products by category, view detailed product information including reviews, and discover what's available—all with seamless access that handles Cloudflare protection automatically.
kinguin.net API
Search Kinguin's gaming catalog to find products, compare offers, and read user reviews, or browse trending games, bestsellers, and new releases. Get detailed product information to make informed purchasing decisions across their entire inventory.
g2.com API
Search G2.com to discover software products, compare pricing and categories, and read customer reviews all in one place. Get detailed product overviews and ratings to make informed decisions about business software.
eneba.com API
Access data from eneba.com.
miniaturemarket.com API
Search for miniature and tabletop gaming products, browse items by category, and access detailed product information including customer reviews and current deals from Miniature Market. Find exactly what you need with comprehensive product listings and real-time pricing data to make informed purchasing decisions.
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.