Universalis
App · 11 actions
Check Final Fantasy XIV market board prices from Universalis, the crowdsourced market data site: current listings and sales on any world, data center or region, sale history and price trends, the cheapest world to buy on, price alerts, and market tax rates. Look items up by name. No account or API key is required.
Actions
| Action | What it does |
|---|---|
| Check for listings under a price | Check whether anyone is selling an item at or below the price you want to pay, for a price alert: says yes or no, how many listings and units match, and lists the cheapest of them. |
| Compare prices of several items | Get a price summary for up to 100 items at once: each one's lowest price and where, average sale price, daily sales and last sale, and for a world, the lowest prices across its data center and region too. |
| Find items by name | Find items you can buy or sell on the market board by all or part of their name: each one's ID, category, item level, icon and Universalis page. |
| Find the cheapest world to buy on | Compare every world in a data center or region for one item, cheapest first: each world's lowest price, listings and units for sale, and what buying a quantity would cost there, tax included, taking the cheapest listings first. |
| Get market board prices | Get what an item costs on the market board right now: the cheapest listings with their world and retainer, the newest sales, and a summary of the lowest NQ and HQ prices, units for sale, average sale price and how many sell a day. |
| Get market tax rates | Get the market tax each city charges on a world this week, and which cities are cheapest to sell from. |
| Get price trend | See how an item's sale price moved day by day: each day's sales, units sold and average, lowest and highest price, and whether the price is rising, falling or steady, comparing the first half of the period with the second. |
| Get sale history | Get the sales of an item over the last few days, newest first, with who bought how many at what price, and totals: units sold, gil traded, and the average, median, lowest and highest price. |
| List items with outdated prices | List the items whose market board prices have gone longest without an update on a world or data center, oldest first: what to check in game next. |
| List recently updated items | List the items whose market board prices players uploaded most recently on a world or data center, newest first, with their names: a feed of what is being traded right now. |
| List worlds and data centers | List the game's worlds with their data center and region, and each data center with its worlds. |
Check for listings under a price
Check whether anyone is selling an item at or below the price you want to pay, for a price alert: says yes or no, how many listings and units match, and lists the cheapest of them.
Inputs
- Item
itemtextRequired - The item's name as the game shows it, such as Iron Ingot, or its item ID. Capitals don't matter.
- World, data center or region
locationtextRequired - Where to look: one world, every world in a data center, or a whole region.
- Price
max_pricenumberRequired - The most you would pay per unit, in gil.From 0 to 999999999.
- Quality
qualitytext - Count every listing, or only normal or high-quality ones.One of:
any(Any quality),nq(Normal quality (NQ) only),hq(High quality (HQ) only). Default:any. - Minimum quantity
min_quantitynumber - Only count listings with at least this many units in the stack.From 1 to 999999. Default:
1.
Outputs
is_belowtrue/falseitem_idnumberitem_nametextlistingslistlocationtextlocation_typetextlowest_pricenumberlowest_price_retainertextlowest_price_worldtextmatching_listing_countnumbermatching_unitsnumbermax_pricenumberqualitytextupdated_attexturltext
Example output
{
"is_below": true,
"item_id": 5057,
"item_name": "Iron Ingot",
"listings": [
{
"crafted": false,
"crafter_name": null,
"hq": false,
"materia_count": 0,
"on_mannequin": false,
"price_per_unit": 48,
"quantity": 19,
"retainer_city": "Limsa Lominsa",
"retainer_name": "Umii",
"reviewed_at": "2026-10-15T07:17:01Z",
"tax": 45,
"total": 912,
"total_with_tax": 957,
"world": "Faerie"
}
],
"location": "Aether",
"location_type": "data_center",
"lowest_price": 48,
"lowest_price_retainer": "Umii",
"lowest_price_world": "Faerie",
"matching_listing_count": 1,
"matching_units": 19,
"max_price": 60,
"quality": "any",
"updated_at": "2026-10-15T17:51:26Z",
"url": "https://universalis.app/market/5057"
}Compare prices of several items
Get a price summary for up to 100 items at once: each one's lowest price and where, average sale price, daily sales and last sale, and for a world, the lowest prices across its data center and region too.
Inputs
- Items
itemslistRequired - Up to 100 item names or IDs: a list, or text with one item per line or separated by commas.
- World, data center or region
locationtextRequired - Where to look: one world, every world in a data center, or a whole region.
- Quality
qualitytext - Count every listing, or only normal or high-quality ones.One of:
any(Any quality),nq(Normal quality (NQ) only),hq(High quality (HQ) only). Default:any.
Outputs
item_countnumberitemslistlocationtextlocation_typetextnot_on_marketlistqualitytext
Example output
{
"item_count": 1,
"items": [
{
"average_sale_price": 226,
"daily_units_sold": 41,
"data_center_lowest_price": 48,
"data_center_lowest_price_world": "Faerie",
"item_id": 5057,
"item_name": "Iron Ingot",
"last_sale_at": "2026-10-15T00:51:32Z",
"last_sale_price": 298,
"last_sale_world": "Gilgamesh",
"lowest_price": 300,
"lowest_price_world": "Gilgamesh",
"region_lowest_price": 20,
"region_lowest_price_world": "Hyperion",
"url": "https://universalis.app/market/5057"
}
],
"location": "Gilgamesh",
"location_type": "world",
"not_on_market": [],
"quality": "any"
}Find items by name
Find items you can buy or sell on the market board by all or part of their name: each one's ID, category, item level, icon and Universalis page. The closest match comes first.
Inputs
- Name contains
querytextRequired - All or part of the item's name, such as Tincture or Ingot. Every word must appear in the name.
- Limit
limitnumber - How many items to return, up to 100.From 1 to 100. Default:
20.
Outputs
item_countnumberitemslistmore_availabletrue/falsequerytext
Example output
{
"item_count": 1,
"items": [
{
"category": "Metal",
"icon_url": "https://v2.xivapi.com/api/asset?path=ui/icon/020000/020801_hr1.tex&format=png",
"item_id": 5057,
"item_level": 14,
"name": "Iron Ingot",
"url": "https://universalis.app/market/5057"
}
],
"more_available": false,
"query": "Iron Ingot"
}Find the cheapest world to buy on
Compare every world in a data center or region for one item, cheapest first: each world's lowest price, listings and units for sale, and what buying a quantity would cost there, tax included, taking the cheapest listings first.
Inputs
- Item
itemtextRequired - The item's name as the game shows it, such as Iron Ingot, or its item ID. Capitals don't matter.
- Data center or region
areatextRequired - The data center or region whose worlds to compare.
- Quality
qualitytext - Count every listing, or only normal or high-quality ones.One of:
any(Any quality),nq(Normal quality (NQ) only),hq(High quality (HQ) only). Default:any. - Quantity needed
quantitynumber - How many you want to buy. Worlds are ranked by what that many would cost; listings are bought as whole stacks.From 1 to 999999. Default:
1.
Outputs
cheapest_cost_for_quantitynumbercheapest_data_centertextcheapest_pricenumbercheapest_worldtextitem_idnumberitem_nametextlocationtextlocation_typetextqualitytextquantitynumberurltextworldslistworlds_with_listingsnumber
Example output
{
"cheapest_cost_for_quantity": 4305,
"cheapest_data_center": "Crystal",
"cheapest_price": 50,
"cheapest_world": "Brynhildr",
"item_id": 5057,
"item_name": "Iron Ingot",
"location": "North America",
"location_type": "region",
"quality": "any",
"quantity": 50,
"url": "https://universalis.app/market/5057",
"worlds": [
{
"cost_for_quantity": 4305,
"data_center": "Crystal",
"enough_stock": true,
"listing_count": 17,
"lowest_price": 50,
"units_bought": 83,
"units_for_sale": 776,
"updated_at": "2026-10-15T01:59:28Z",
"world": "Brynhildr"
}
],
"worlds_with_listings": 29
}Get market board prices
Get what an item costs on the market board right now: the cheapest listings with their world and retainer, the newest sales, and a summary of the lowest NQ and HQ prices, units for sale, average sale price and how many sell a day.
Inputs
- Item
itemtextRequired - The item's name as the game shows it, such as Iron Ingot, or its item ID. Capitals don't matter.
- World, data center or region
locationtextRequired - Where to look: one world, every world in a data center, or a whole region.
- Quality
qualitytext - Count every listing, or only normal or high-quality ones.One of:
any(Any quality),nq(Normal quality (NQ) only),hq(High quality (HQ) only). Default:any. - Listings to show
listing_limitnumber - How many of the cheapest listings to list, up to 100. The summary always counts every listing.From 0 to 100. Default:
10. - Sales to show
sale_limitnumber - How many of the newest sales to list, up to 100.From 0 to 100. Default:
10.
Outputs
average_listing_pricenumberaverage_sale_pricenumberdaily_units_soldnumberitem_idnumberitem_nametextlast_sale_attextlast_sale_pricenumberlisting_countnumberlistingslistlocationtextlocation_typetextlowest_pricenumberlowest_price_hqnumberlowest_price_nqnumberlowest_price_worldtextqualitytextsaleslistunits_for_salenumberupdated_attexturltext
Example output
{
"average_listing_price": 412,
"average_sale_price": 218,
"daily_units_sold": 267.2,
"item_id": 5057,
"item_name": "Iron Ingot",
"last_sale_at": "2026-10-15T05:34:01Z",
"last_sale_price": 300,
"listing_count": 96,
"listings": [
{
"crafted": false,
"crafter_name": null,
"hq": false,
"materia_count": 0,
"on_mannequin": false,
"price_per_unit": 48,
"quantity": 19,
"retainer_city": "Limsa Lominsa",
"retainer_name": "Umii",
"reviewed_at": "2026-10-15T07:17:01Z",
"tax": 45,
"total": 912,
"total_with_tax": 957,
"world": "Faerie"
}
],
"location": "Aether",
"location_type": "data_center",
"lowest_price": 48,
"lowest_price_hq": 59,
"lowest_price_nq": 48,
"lowest_price_world": "Faerie",
"quality": "any",
"sales": [
{
"buyer_name": "Shijo Katsurou",
"hq": false,
"on_mannequin": false,
"price_per_unit": 300,
"quantity": 99,
"sold_at": "2026-10-15T05:34:01Z",
"total": 29700,
"world": "Siren"
}
],
"units_for_sale": 3051,
"updated_at": "2026-10-15T17:51:26Z",
"url": "https://universalis.app/market/5057"
}Get market tax rates
Get the market tax each city charges on a world this week, and which cities are cheapest to sell from.
Inputs
- World
worldtextRequired - The world whose tax rates to get.
Outputs
data_centertextlowest_rate_citieslistlowest_rate_percentnumberrateslistworldtext
Example output
{
"data_center": "Aether",
"lowest_rate_cities": [
"Kugane"
],
"lowest_rate_percent": 3,
"rates": [
{
"city": "Limsa Lominsa",
"rate_percent": 5
},
{
"city": "Kugane",
"rate_percent": 3
}
],
"world": "Gilgamesh"
}Get price trend
See how an item's sale price moved day by day: each day's sales, units sold and average, lowest and highest price, and whether the price is rising, falling or steady, comparing the first half of the period with the second.
Inputs
- Item
itemtextRequired - The item's name as the game shows it, such as Iron Ingot, or its item ID. Capitals don't matter.
- World, data center or region
locationtextRequired - Where to look: one world, every world in a data center, or a whole region.
- Days
daysnumber - How many days back to look, up to 90.From 1 to 90. Default:
14. - Quality
qualitytext - Count every listing, or only normal or high-quality ones.One of:
any(Any quality),nq(Normal quality (NQ) only),hq(High quality (HQ) only). Default:any.
Outputs
average_pricenumberchange_percentnumberdailylistdaysnumberearlier_average_pricenumberitem_idnumberitem_nametextlocationtextlocation_typetextqualitytextrecent_average_pricenumbersale_countnumbertrendtextunits_soldnumberurltext
Example output
{
"average_price": 250,
"change_percent": 2,
"daily": [
{
"average_price": 273,
"date": "2026-10-15",
"highest_price": 498,
"lowest_price": 50,
"sale_count": 11,
"units_sold": 369
}
],
"days": 14,
"earlier_average_price": 249,
"item_id": 5057,
"item_name": "Iron Ingot",
"location": "Aether",
"location_type": "data_center",
"quality": "any",
"recent_average_price": 254,
"sale_count": 303,
"trend": "steady",
"units_sold": 4496,
"url": "https://universalis.app/market/5057"
}Get sale history
Get the sales of an item over the last few days, newest first, with who bought how many at what price, and totals: units sold, gil traded, and the average, median, lowest and highest price.
Inputs
- Item
itemtextRequired - The item's name as the game shows it, such as Iron Ingot, or its item ID. Capitals don't matter.
- World, data center or region
locationtextRequired - Where to look: one world, every world in a data center, or a whole region.
- Days
daysnumber - How many days back to look, up to 90.From 1 to 90. Default:
7. - Quality
qualitytext - Count every listing, or only normal or high-quality ones.One of:
any(Any quality),nq(Normal quality (NQ) only),hq(High quality (HQ) only). Default:any. - Lowest price
min_pricenumber - Only sales at this many gil per unit or more. Leave empty for no minimum.From 0 to 999999999.
- Highest price
max_pricenumber - Only sales at this many gil per unit or less. Leave empty for no maximum.From 0 to 999999999.
- Sales to show
limitnumber - How many sales to list, up to 1000. The totals always count every sale.From 0 to 1000. Default:
100.
Outputs
average_pricenumberdaily_units_soldnumberdaysnumbergil_tradednumberhighest_pricenumberitem_idnumberitem_nametextlast_sale_attextlocationtextlocation_typetextlowest_pricenumbermedian_pricenumberqualitytextsale_countnumbersaleslistunits_soldnumberurltext
Example output
{
"average_price": 266,
"daily_units_sold": 127.6,
"days": 7,
"gil_traded": 237726,
"highest_price": 3469,
"item_id": 5057,
"item_name": "Iron Ingot",
"last_sale_at": "2026-10-15T05:34:01Z",
"location": "Aether",
"location_type": "data_center",
"lowest_price": 50,
"median_price": 300,
"quality": "any",
"sale_count": 53,
"sales": [
{
"buyer_name": "Shijo Katsurou",
"hq": false,
"on_mannequin": false,
"price_per_unit": 300,
"quantity": 99,
"sold_at": "2026-10-15T05:34:01Z",
"total": 29700,
"world": "Siren"
}
],
"units_sold": 893,
"url": "https://universalis.app/market/5057"
}List items with outdated prices
List the items whose market board prices have gone longest without an update on a world or data center, oldest first: what to check in game next.
Inputs
- World or data center
locationtextRequired - The world or data center to check.
- Limit
limitnumber - How many items to list, up to 200.From 1 to 200. Default:
20.
Outputs
item_countnumberitemslistlocationtextlocation_typetext
Example output
{
"item_count": 1,
"items": [
{
"item_id": 24580,
"item_name": "Raw Tavern Furnishing Materials",
"updated_at": "2025-04-13T11:40:45Z",
"url": "https://universalis.app/market/24580",
"world": "Jenova"
}
],
"location": "Aether",
"location_type": "data_center"
}List recently updated items
List the items whose market board prices players uploaded most recently on a world or data center, newest first, with their names: a feed of what is being traded right now.
Inputs
- World or data center
locationtextRequired - The world or data center to watch.
- Limit
limitnumber - How many items to list, up to 200.From 1 to 200. Default:
20.
Outputs
item_countnumberitemslistlocationtextlocation_typetext
Example output
{
"item_count": 1,
"items": [
{
"item_id": 36242,
"item_name": "Gaja Hide",
"updated_at": "2026-10-15T18:09:36Z",
"url": "https://universalis.app/market/36242",
"world": "Gilgamesh"
}
],
"location": "Gilgamesh",
"location_type": "world"
}List worlds and data centers
List the game's worlds with their data center and region, and each data center with its worlds. Narrow it to one region if you like.
Inputs
- Region
regiontext - Only this region. Leave empty for every region.
Outputs
data_center_countnumberdata_centerslistregiontextworld_countnumberworldslist
Example output
{
"data_center_count": 1,
"data_centers": [
{
"name": "Light",
"region": "Europe",
"world_count": 1,
"worlds": [
"Alpha"
]
}
],
"region": "Europe",
"world_count": 1,
"worlds": [
{
"data_center": "Light",
"name": "Alpha",
"region": "Europe",
"world_id": 402
}
]
}