Path of Exile API
Official Path of Exile API with no key for public endpoints: current leagues, ladders, PvP matches and the public stash tab river. Tested curl example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the Path of Exile API?
The Path of Exile API is Grinding Gear Games' official HTTP API. Its public endpoints — league lists, ladders and PvP matches — need no API key and return live data about the current challenge league, while account-scoped endpoints require OAuth.
Path of Exile resets its economy every few months with a new challenge league, which makes the `/leagues` endpoint the natural starting point for any tool built around the game: it tells you what leagues currently exist, when they started, when they end and what rules apply. Almost every third-party build planner and trade site begins by calling it.
Two practical notes. First, GGG requires a descriptive User-Agent that identifies your application and a contact address — generic agents are refused, and this is enforced. Second, the API is split: leagues, ladders and PvP are open, while anything touching a specific account's characters or stash tabs needs an OAuth application registered with GGG. The example below uses the open half.
Quick facts
- Base URL
https://api.pathofexile.com- Authentication
- Public endpoints need no key, but a descriptive User-Agent naming your app and a contact address is mandatory. Account-scoped and stash endpoints require an OAuth client registered with GGG.
- Rate limit
- Enforced per endpoint and returned in `X-Rate-Limit-*` response headers. Read them rather than guessing — limits change between leagues.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the Path of Exile API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. Fetch the current main leagues
GET https://api.pathofexile.com/leagues?type=main&limit=1
curl 'https://api.pathofexile.com/leagues?type=main&limit=1'const res = await fetch("https://api.pathofexile.com/leagues?type=main&limit=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.pathofexile.com/leagues?type=main&limit=1", timeout=20)
res.raise_for_status()
print(res.json())[
{
"id": "Standard",
"name": "Standard",
"realm": "pc",
"url": "https://www.pathofexile.com/ladders/league/Standard",
"startAt": "2013-01-23T21:00:00Z",
"endAt": null,
"description": "The default game mode.",
"category": {
"id": "Standard"
},
"registerAt": "2019-09-06T19:00:00Z",
"delveEvent": true,
"rules": []
}
]Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
type | query | Optional | League category: `main` for permanent and challenge leagues, `event` for races, `season` for a named season. main |
realm | query | Optional | `pc`, `xbox`, `sony` or `poe2`. Defaults to PC. pc |
limit | query | Optional | How many leagues to return, up to 50. 1 |
offset | query | Optional | Pagination offset. 0 |
Response fields
idstring- League identifier used by every other endpoint and by the trade API. This is what you pass around, not `name`.
realmstring- Platform the league belongs to.
startAt / endAtstring- ISO 8601 start and end timestamps. `endAt` is null for permanent leagues such as Standard.
descriptionstring- Human-readable summary of the league's rules.
category.idstring- The season or event a challenge league belongs to.
rulesarray- Modifiers active in the league, for example Hardcore or Solo Self-Found. An empty array means standard rules.
delveEventboolean- Whether Delve league mechanics are enabled.
What you can build with the Path of Exile API
- Detect the current challenge league automatically so a build planner never needs a manual update
- Show a countdown to league start or end on a community site
- Fetch ladder standings for a race event or guild leaderboard
- Identify which leagues are Hardcore or SSF before filtering trade data
Common errors and how to fix them
403
Missing or generic User-Agent.
Fix: Send a header naming your application and a contact address. GGG enforces this and will refuse library defaults.
429
Rate limit exceeded.
Fix: Read the `X-Rate-Limit-*` and `Retry-After` headers and back off. Limits are per-endpoint and tighten during league launches.
401
An account-scoped endpoint was called without OAuth.
Fix: Only leagues, ladders and PvP are open. Character and stash data needs a registered OAuth client.
Path of Exile API — frequently asked questions
Does the Path of Exile API need an API key?
The public endpoints — leagues, ladders and PvP matches — need no key. They do require a descriptive User-Agent identifying your application and a contact address. Account-scoped endpoints such as characters and stash tabs require OAuth.
How do I find the current Path of Exile challenge league?
Call the leagues endpoint with `type=main` and look for the entry with a non-null `endAt` that is not Standard or Hardcore. Reading it at runtime is why community tools survive a league launch without a code change.
What is the public stash tab river?
A separate endpoint that streams every public stash tab change in the game as a paginated sequence of change ids. It is what powers third-party trade sites, and it is high volume — expect to consume it continuously rather than polling casually.
Are there rate limits on the Path of Exile API?
Yes, and they vary by endpoint and by time. Every response carries `X-Rate-Limit-*` headers describing the current policy and your usage, so read those headers and adapt instead of hardcoding an interval.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
Timestamp Converter
Convert timestamps to human-readable dates and dates back to timestamps. Auto-detects seconds vs milliseconds, shows local, UTC and ISO 8601 formats.
Time Duration Calculator
Add or subtract hours, minutes and seconds, or sum a list of durations into a total shown in h:m:s and in total seconds. Free and 100% in-browser.
Path of Exile is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.