Skip to content
Node.js wrapper for XIVAPI
Branch: master
Clone or download


npm version license

This is a pure JS wrapper for interacting with XIVAPI and handling all requests in a simple, promise-driven manner.


Simply add the module to your node project with npm:

npm i xivapi-js


Require and initialize the module in your code:

const XIVAPI = require('xivapi-js')
const xiv = new XIVAPI()

...and then check out the wiki for usage help!

If you get really stuck and need some help, or run into any problems/concerns, either open up an issue on github or join the XIVAPI discord server and ping/DM @SacredPixel.


Find an item ID, and then get the lowest market board price in a specific server:

const getItemPrice = async () => {
  //find item
  let res = await'Stuffed Khloe')
  //use item ID for market query
  res = await[0].ID, 'Excalibur')
  //return lowest price
  return res.Prices[0].PricePerUnit

Get the most recent lodestone news post:

const getLatestNews = async () => {
  //get the lodestone state
  let ls = await xiv.lodestone()

  //get most recent entry
  let entry = ls.News[0]

  //get the time since the entry's creation
  let timeNow = new Date()
  let diff = new Date(timeNow - entry.Time) //xivapi-js converts the timestamp into a Date object,
                                            //so you can just do this!

  //return your parsed entry
  console.log(`${entry.Title} (published ${diff.getUTCMinutes()} minutes ago)`)

Check for character ownership using a token we generated and provided to the user:

const verifyCharacter = async () => {
  //find the character with their name and server
  let res = await'Kai Megumi', {server: 'excalibur'}) //case insensitive server names, btw ;)

  //get the character's ID
  let id = res.Results[0].ID

  //return whether or not the character's lodestone bio matches our token
  return await xiv.character.verification(id, 'token string')


Feel free to open up issues/PRs or anything else.

Just git clone, run npm i, and go to town!


This project is open source, under the terms described in the MIT License.

You can’t perform that action at this time.