Get a valid GUID
Run MarketSense, upload item price data, then upload inventory data. The GUID in your inventory link becomes your source token.
https://www.ffxivmb.com/Inventory/[GUIDISHERE]/Balmung
public api
Use the public endpoints when you need to update server prices by a method other than the MarketSense app.
Run MarketSense, upload item price data, then upload inventory data. The GUID in your inventory link becomes your source token.
https://www.ffxivmb.com/Inventory/[GUIDISHERE]/Balmung
Console, Mac, Linux, or app-blocked users can message @purveyor on Discord for a key without running the Windows app.
price endpoint
https://ffxivmb.com/public/api/Prices?Server='SERVER'&SourceGuid='GUID'&ItemKey='ITEMKEY'
[
{
"CraftSignature": "CraftSignature [string]",
"IsCrafted": "IsCrafted [boolean]",
"Materia": "Materia [List[int]]",
"PricePerUnit": "PricePerUnit [int]",
"PriceTotal": "PriceTotal [int]",
"Quantity": "Quantity [int]",
"IsHQ": "IsHQ [boolean]",
"RetainerName": "RetainerName [string]",
"Stain": "Stain [int]",
"TownID": "TownID [int]",
"DateObtained": "DateObtained [int Unix timestamp]"
}
]
If no items are for sale, send one object with defaults for every field except DateObtained, which should be the Unix timestamp for the scan.
history endpoint
https://ffxivmb.com/public/api/History?Server='SERVER'&SourceGuid='GUID'&ItemKey='ITEMKEY'
[
{
"CharacterName": "CharacterName [string]",
"PricePerUnit": "PricePerUnit [int]",
"PriceTotal": "PriceTotal [int]",
"Quantity": "Quantity [int]",
"IsHQ": "IsHQ [int, not boolean]",
"PurchaseDate": "PurchaseDate [int Unix timestamp]"
}
]
Do not include the type notes in your payload. They are shown only to document the expected shape.
limits
Requests are limited to 60 posts a minute. Invalid data can reduce that limit or trigger an automatic ban that removes data from your GUID and IP. Test carefully, then contact Discord if you need help or a higher limit.