Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


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 @kaimoe.


Find an item's ID:

const getID = async () => {
  //find item
  let res = await'Stuffed Khloe')

  //return item ID
  return res.Results[0].ID

Search for an FC and get an list of members:

const getMembers = async () => {
  //find the FC with its name and server
  let res = await'My Fun FC', {server: 'Excalibur'})

  //get the FC ID
  let id = res.Results[0].ID

  //get and return fc members
  let fc = await xiv.freecompany.get('9231253336202687179', {data: FCM})
  return fc.FreeCompanyMembers

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
  let char = res.Results[0]

  //return whether or not the character's lodestone bio matches our token
  return char.Bio === 'example_token'


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.