poe APIpoe.ninja ↗
Access Path of Exile economy and build data from poe.ninja. Get item prices, currency rates, divination card values, market trends, and class build stats.
What is the poe API?
The poe.ninja API exposes Path of Exile economic and build data across 5 endpoints, covering item prices, currency exchange rates, divination card values, sparkline market trends, and character class statistics. The get_item_prices endpoint returns chaos and divine orb valuations per item across categories like UniqueWeapon and UniqueArmour, filtered by league. Build data from get_build_classes_and_dps shows class popularity rankings and top skills from the active ladder.
curl -X GET 'https://api.parse.bot/scraper/d24b0bde-6a4c-44a4-82b3-3eb42f9e3d0c/get_item_prices?league=Mirage&category=UniqueWeapon&corrupted=true&gem_level=21&gem_quality=20&gem_combinations=%5B%7B%22level%22%3A+21%2C+%22quality%22%3A+20%7D%2C+%7B%22level%22%3A+20%2C+%22quality%22%3A+0%7D%5D' \ -H 'X-API-Key: $PARSE_API_KEY'
Retrieve current prices of Path of Exile items from poe.ninja for a given league and item category. Returns items with chaos orb and divine orb valuations, base types, link counts, and item classes. When category is SkillGem, each item also includes gem_level, gem_quality, and corrupted fields, and results can be filtered by gem level and/or gem quality using either single values or multiple combinations via gem_combinations, and by corruption status via the corrupted parameter. Quality 0 matches gems with no explicit quality set. Categories that no longer exist on poe.ninja (e.g. DivinationCard) return an upstream 404.
| Param | Type | Description |
|---|---|---|
| league | string | League name. Active economy leagues include Mirage, Hardcore Mirage, Standard, Hardcore, Allflame, Hardcore Allflame. |
| category | string | Item category. Accepted values include UniqueWeapon, UniqueArmour, UniqueAccessory, UniqueFlask, UniqueJewel, SkillGem, Map, Incubator. |
| corrupted | boolean | Filter by corruption status when category is SkillGem. When true, returns only corrupted gems; when false, returns only non-corrupted gems. Omit to return both. Ignored for non-SkillGem categories. |
| gem_level | integer | Filter by gem level when category is SkillGem (e.g. 21). Ignored for non-gem categories. Overridden by gem_combinations when both are provided. |
| gem_quality | integer | Filter by gem quality when category is SkillGem (e.g. 20). Use 0 for gems with no explicit quality. Ignored for non-gem categories. Overridden by gem_combinations when both are provided. |
| gem_combinations | string | JSON array of objects specifying multiple gem level/quality filter combinations when category is SkillGem. Each object may have 'level' and/or 'quality' keys (e.g. [{"level": 21, "quality": 20}, {"level": 20, "quality": 0}]). Items matching ANY combination are returned. Use quality 0 for gems with no explicit quality. Takes precedence over gem_level/gem_quality when provided. Ignored for non-gem categories. |
{
"type": "object",
"fields": {
"items": "array of item objects with name, price (chaos), divine_price, base_type, links, item_class, currency; when category is SkillGem each item also includes gem_level (integer), gem_quality (integer), and corrupted (boolean)",
"league": "string — league name used for the query",
"category": "string — item category used for the query"
},
"sample": {
"data": {
"items": [
{
"name": "Kingmaker",
"links": 6,
"price": 237080,
"currency": "Chaos Orb",
"base_type": "Despot Axe",
"item_class": 3,
"divine_price": 400
}
],
"league": "Mirage",
"category": "UniqueWeapon"
},
"status": "success"
}
}About the poe API
Economy Data by League
The get_item_prices endpoint accepts a league parameter (e.g., Mirage, Standard, Hardcore) and a category string such as UniqueWeapon, UniqueArmour, UniqueAccessory, UniqueFlask, or UniqueJewel. Each item in the response includes name, price in chaos orbs, divine_price, base_type, links, item_class, and currency. Note that categories removed from poe.ninja — such as DivinationCard via this endpoint — return an upstream error; use get_divination_cards instead for card data.
Currency and Divination Card Endpoints
get_currency_prices returns all tracked currency items for a given league with chaos_equivalent, receive_price, and pay_price fields. This covers orbs, catalysts, lifeforce, and other tradeable currencies. get_divination_cards returns card-specific fields: name, stack_size, chaos_value, divine_value, and art_filename — the last of which is useful for building card preview UIs.
Market Trends and Sparklines
get_market_trends accepts both league and category parameters and returns a trends array. Each entry includes chaos_value plus two 7-point numeric arrays: sparkline and low_confidence_sparkline. These represent recent price movement and are suitable for rendering mini price-history charts or detecting significant valuation shifts over the tracked window.
Build Statistics
get_build_classes_and_dps returns class-level ladder data for a specified league. Each object in the classes array includes class_name, popularity_percentage, and a top_skills array of skill-name/percentage pairs. A note field in the response indicates data availability, since build ladder data requires an active league ladder to be populated.
The poe API is a managed, monitored endpoint for poe.ninja — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when poe.ninja 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 poe.ninja 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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track chaos and divine orb prices for unique weapons across active leagues to inform trade decisions
- Display a currency exchange rate table using
chaos_equivalent,receive_price, andpay_pricefromget_currency_prices - Render sparkline charts from the 7-point
sparklinearrays returned byget_market_trendsto visualize price volatility - Build a divination card reference tool showing
stack_size,chaos_value, and card art viaart_filename - Generate class tier lists from
popularity_percentageandtop_skillsdata returned byget_build_classes_and_dps - Alert on significant price shifts by comparing
sparklinevalues for high-value unique items across leagues - Power a league economy dashboard aggregating item prices, currency rates, and divination card values in one view
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 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.
Does poe.ninja have an official public developer API?+
What does `get_market_trends` return that `get_item_prices` doesn't?+
get_item_prices returns current valuations for items. get_market_trends adds two 7-point arrays per entry — sparkline and low_confidence_sparkline — representing recent price movement percentages. These are useful for spotting price direction rather than just the current snapshot value.Are item-level details like mods, implicit/explicit affixes, or prophecy data available?+
chaos_value, divine_price), metadata (base_type, links, item_class), and build statistics, but does not expose per-item mod lists, implicit or explicit affixes, or prophecy data. You can fork this API on Parse and revise it to add an endpoint targeting those details.Does build data cover individual character profiles or passive tree snapshots?+
get_build_classes_and_dps aggregates class-level data — class_name, popularity_percentage, and top_skills — from the league ladder. Individual character profiles, passive trees, or gear loadouts are not returned. You can fork the API on Parse and revise it to add an endpoint covering individual character build data.How fresh is the league data, and what happens when a league ends?+
league parameter accepts active leagues like Mirage, Hardcore Mirage, Standard, and Hardcore. Querying a deprecated or ended league may return stale or empty results. Build data additionally requires an active ladder; the note field in get_build_classes_and_dps responses indicates when data is unavailable for a given league.