{"openapi":"3.1.0","info":{"title":"FFXIV Market API","version":"1.0.0","description":"The live player-driven market board economy of Final Fantasy XIV — what every item costs, how fast it sells and what it actually traded at, on any server. In FFXIV millions of players buy and sell crafted gear, materials, housing, minions and more on each server's market board, priced in gil, and the same item costs differently on every data centre with the high-quality (HQ) version commanding a premium. Search an item name to get its FFXIV item id; pull the current market for that item on a world, data centre or region (the recent-sales average price, the HQ/NQ split, the cheapest current listing, sale velocity per day and the lowest current asks); or pull the recent sale history — the actual completed trades with price, quantity, quality, buyer world and time. The average price is taken from real sales rather than asking prices, because a few outlier gil-seller listings can skew the raw listing average wildly. This is the FFXIV market-board cut — its own per-server, HQ-vs-NQ and sale-history model, distinct from the Steam Community Market and Warframe Market feeds. Gil is FFXIV's in-game currency, not real money. Crowd-sourced live via Universalis, with a short protective cache.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/ffxivmarket-api","description":"oanor gateway"}],"tags":[{"name":"Search"},{"name":"Market"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/search":{"get":{"operationId":"get_v1_search","tags":["Search"],"summary":"Resolve an item name to its FFXIV item id","description":"","parameters":[{"name":"q","in":"query","required":true,"description":"Item name to search","schema":{"type":"string"},"example":"grade 8 tincture"},{"name":"limit","in":"query","required":false,"description":"Max results (1-40)","schema":{"type":"string"},"example":"15"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"FFXIV items matching a name — each with its item_id (use it with /v1/market and /v1/history). Not every item is marketable; if an item has no market data, /v1/market reports that. Pass q (required) and limit (1-40). Live item data, cached ~1h.","count":5,"items":[{"name":"Grade 8 Tincture of Mind","item_id":39731},{"name":"Grade 8 Tincture of Strength","item_id":39727},{"name":"Grade 8 Tincture of Vitality","item_id":39729},{"name":"Grade 8 Tincture of Dexterity","item_id":39728},{"name":"Grade 8 Tincture of Intelligence","item_id":39730}],"query":"grade 8 tincture","source":"XIVAPI item search (v2.xivapi.com), keyless"},"meta":{"timestamp":"2026-06-13T04:41:56.981Z","request_id":"d03b0340-e904-4f94-b11b-a947941be6d6"},"status":"ok","message":"Search results retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/history":{"get":{"operationId":"get_v1_history","tags":["Market"],"summary":"Recent actual sale history for an item","description":"","parameters":[{"name":"item_id","in":"query","required":true,"description":"Numeric FFXIV item id","schema":{"type":"string"},"example":"5057"},{"name":"world","in":"query","required":false,"description":"World, data centre or region (default Aether)","schema":{"type":"string"},"example":"Aether"},{"name":"limit","in":"query","required":false,"description":"Max sales (1-50)","schema":{"type":"string"},"example":"20"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"The recent sale history of item 5057 on 'Aether' — the actual trades that completed, newest first, each with its price per unit (gil), quantity, quality (HQ true/false), the buyer's world and when it sold. This is what the item really traded at, not just asking prices. Pass item_id, world and limit (1-50). Live, cached ~3m.","count":20,"sales":[{"hq":false,"total":147,"sold_at":"2026-06-13T04:26:20.000Z","quantity":1,"buyer_world":"Gilgamesh","price_per_unit":147},{"hq":false,"total":201,"sold_at":"2026-06-13T03:27:37.000Z","quantity":1,"buyer_world":"Midgardsormr","price_per_unit":201},{"hq":true,"total":1004,"sold_at":"2026-06-13T03:17:07.000Z","quantity":2,"buyer_world":"Faerie","price_per_unit":502},{"hq":false,"total":499,"sold_at":"2026-06-13T02:14:51.000Z","quantity":1,"buyer_world":"Faerie","price_per_unit":499},{"hq":false,"total":388,"sold_at":"2026-06-13T01:59:43.000Z","quantity":2,"buyer_world":"Midgardsormr","price_per_unit":194},{"hq":true,"total":400,"sold_at":"2026-06-13T01:51:05.000Z","quantity":2,"buyer_world":"Midgardsormr","price_per_unit":200},{"hq":true,"total":195,"sold_at":"2026-06-13T01:51:03.000Z","quantity":1,"buyer_world":"Midgardsormr","price_per_unit":195},{"hq":false,"total":8800,"sold_at":"2026-06-13T01:43:07.000Z","quantity":88,"buyer_world":"Cactuar","price_per_unit":100},{"hq":false,"total":3984,"sold_at":"2026-06-13T00:53:27.000Z","quantity":16,"buyer_world":"Siren","price_per_unit":249},{"hq":true,"total":18330,"sold_at":"2026-06-13T00:30:37.000Z","quantity":47,"buyer_world":"Sargatanas","price_per_unit":390},{"hq":false,"total":385,"sold_at":"2026-06-13T00:27:36.000Z","quantity":1,"buyer_world":"Siren","price_per_unit":385},{"hq":true,"total":490,"sold_at":"2026-06-13T00:03:56.000Z","quantity":1,"buyer_world":"Faerie","price_per_unit":490},{"hq":false,"total":2025,"sold_at":"2026-06-12T23:33:45.000Z","quantity":45,"buyer_world":"Sargatanas","price_per_unit":45},{"hq":false,"total":3420,"sold_at":"2026-06-12T22:33:56.000Z","quantity":9,"buyer_world":"Siren","price_per_unit":380},{"hq":false,"total":49,"sold_at":"2026-06-12T22:11:55.000Z","quantity":1,"buyer_world":"Sargatanas","price_per_unit":49},{"hq":false,"total":50,"sold_at":"2026-06-12T22:11:54.000Z","quantity":1,"buyer_world":"Sargatanas","price_per_unit":50},{"hq":false,"total":50,"sold_at":"2026-06-12T22:11:53.000Z","quantity":1,"buyer_world":"Sargatanas","price_per_unit":50},{"hq":false,"total":50,"sold_at":"2026-06-12T22:11:52.000Z","quantity":1,"buyer_world":"Sargatanas","price_per_unit":50},{"hq":true,"total":245,"sold_at":"2026-06-12T22:11:51.000Z","quantity":1,"buyer_world":"Sargatanas","price_per_unit":245},{"hq":true,"total":500,"sold_at":"2026-06-12T22:11:50.000Z","quantity":2,"buyer_world":"Sargatanas","price_per_unit":250}],"source":"Universalis public API (universalis.app), keyless","item_id":5057,"location":"Aether"},"meta":{"timestamp":"2026-06-13T04:41:58.050Z","request_id":"ab4b2533-5706-429a-b822-8881af41495b"},"status":"ok","message":"History retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/market":{"get":{"operationId":"get_v1_market","tags":["Market"],"summary":"Current market board for an item on a world/data-centre/region","description":"","parameters":[{"name":"item_id","in":"query","required":true,"description":"Numeric FFXIV item id (from /v1/search)","schema":{"type":"string"},"example":"5057"},{"name":"world","in":"query","required":false,"description":"World, data centre or region (default Aether)","schema":{"type":"string"},"example":"Aether"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"The current FFXIV market board for item 5057 on 'Aether'. Prices in gil: average_price is the average of recent actual sales (robust); average_price_hq/nq split it by high/normal quality; min_price is the cheapest current listing (the floor you can buy at). sale_velocity_per_day is how many units sell per day (liquidity). cheapest_listings are the lowest current asks (price, quantity, HQ, world). Note average_price comes from real sales rather than asking prices, because a few outlier listings (often gil-sellers) can skew the raw listing average wildly. Pass item_id and world (a world, data centre or region; default Aether). Gil is FFXIV's in-game currency, not real money. Live, cached ~3m.","source":"Universalis public API (universalis.app), keyless","item_id":5057,"location":"Aether","min_price":1,"last_upload":"2026-06-13T04:30:46.000Z","average_price":278,"listings_count":8,"average_price_hq":332,"average_price_nq":246,"cheapest_listings":[{"hq":false,"total":2,"world":"Sargatanas","quantity":2,"price_per_unit":1},{"hq":true,"total":82,"world":"Adamantoise","quantity":1,"price_per_unit":82},{"hq":false,"total":90,"world":"Adamantoise","quantity":1,"price_per_unit":90},{"hq":false,"total":12284,"world":"Gilgamesh","quantity":83,"price_per_unit":148},{"hq":false,"total":298,"world":"Gilgamesh","quantity":2,"price_per_unit":149},{"hq":false,"total":14850,"world":"Cactuar","quantity":99,"price_per_unit":150},{"hq":false,"total":170,"world":"Jenova","quantity":1,"price_per_unit":170},{"hq":false,"total":180,"world":"Gilgamesh","quantity":1,"price_per_unit":180}],"recent_sales_count":20,"sale_velocity_per_day":520},"meta":{"timestamp":"2026-06-13T04:41:58.314Z","request_id":"adf1f8c5-8824-4c48-8cc7-5dcacbe2fcfb"},"status":"ok","message":"Market retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Service metadata","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"search takes q (an item name) and limit (1-40). market takes item_id and world (a world, data centre or region — e.g. Aether, Sargatanas, Japan, Europe; default Aether). history takes item_id, world and limit (1-50). meta takes no parameters. Prices are in gil (FFXIV in-game currency, not real money); data is crowd-sourced via Universalis (freshness varies by item popularity — see last_upload). A short ~3-minute cache fronts the market data.","sample":{"item_id":5057,"location":"Aether","average_price":278,"sale_velocity_per_day":520},"source":"Universalis (universalis.app) + XIVAPI (v2.xivapi.com), keyless, live","service":"ffxivmarket-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/market":"Current market for an item on a world/DC (item_id=5057, world=Aether).","GET /v1/search":"Resolve an item name to its id (q=grade 8 tincture).","GET /v1/history":"Recent sale history for an item (item_id=5057, world=Aether)."},"description":"The live player-driven market board economy of Final Fantasy XIV, keyless. Players trade gear, materials, housing, minions and more on each server's market board, priced in gil — a huge, server-segmented economy. The search endpoint resolves an item name to its FFXIV item id (via XIVAPI); the market endpoint returns the current market for an item on a world/data-centre/region (average/min/max price, HQ/NQ split, sale velocity, cheapest listings, all from Universalis crowd-sourced data); the history endpoint returns the recent actual sales (price, quantity, quality, buyer world, time). The FFXIV market-board cut — distinct from the other game-economy and marketplace feeds (Steam Market, Warframe Market), with its own per-server, HQ/NQ and sale-history model. Gil is FFXIV's in-game currency, not real money.","upstream_status":"ok"},"meta":{"timestamp":"2026-06-13T04:41:59.097Z","request_id":"1a25c8d4-22c8-4251-b63f-c4a32a3bee42"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":7500,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":2450,"monthly_call_quota":135000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":7150,"monthly_call_quota":640000,"rps_limit":16,"hard_limit":true},{"slug":"scale","name":"Scale","price_cents_month":20300,"monthly_call_quota":3050000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/ffxivmarket-api"}