Skip to content

About

A local PySide6 desktop GUI for searching FINAL FANTASY XIV game data via the XIVAPI v2 API.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

XIVAPI Explorer

A local, GUI-based desktop app for searching FINAL FANTASY XIV game data through XIVAPI v2 (the Boilmaster API). No API key, no account — it just talks to the public read-only API.

Built with PySide6 (Qt).

overview

Features (v1 — Universal Search)

  • Search across any sheet. Pick which sheets to search (Item, Action, Quest, Status, …) via quick-pick chips, free-text entry, or an autocomplete box covering all ~7,900 sheets.
  • Simple or advanced queries. Type a plain term to match on Name, or flip on Advanced query to write full XIVAPI clauses like Name~"rainbow" +LevelItem>=100 or ClassJob.Abbreviation="PCT".
  • Rich results. Each hit shows its in-game icon, name, source sheet, row id and relevance score.
  • Detail inspector. Select a result to browse its fields in a tree. Load full row fetches every field for that row; Copy JSON puts it on your clipboard.
  • Language & paging. Choose the response language (en/ja/de/fr/…), set a result limit, and Load more to page through large result sets.
  • Responsive UI — all network calls run off the GUI thread, so it never freezes, and a slow response can never overwrite a newer search.

Requirements

  • Python 3.9+ (on Windows, install from python.org and tick "Add Python to PATH")
  • Internet access (the app calls https://v2.xivapi.com)

Runs on Windows, macOS, and Linux (PySide6 + requests are cross-platform).

Running

Quick start

Windows — double-click run.bat, or from a terminal:

run.bat

macOS / Linux:

./run.sh

Either script creates a .venv, installs dependencies, and launches the app.

Manual (any platform)

python3 -m venv .venv

# activate it:
source .venv/bin/activate        # macOS / Linux
.venv\Scripts\activate.bat       # Windows (Command Prompt)
.venv\Scripts\Activate.ps1       # Windows (PowerShell)

pip install -r requirements.txt
python main.py

How to use

  1. Type a term (e.g. potion) and press Enter / Search.
  2. Adjust which sheets to search using the chips or the Add any sheet… box. At least one sheet is required — the API cannot search all at once.
  3. Click a result on the left to inspect it on the right.
  4. Need everything? Click Load full row in the detail panel.

Query syntax (Advanced mode)

Example Meaning
Name~"cure" Name contains "cure"
Name="Potion" exact match
+LevelItem>=100 required numeric filter
-Name~"materia" exclude matches
ClassJob.Abbreviation="PCT" nested field
Name@ja="天使の筆" match the Japanese name

Full reference: https://v2.xivapi.com/docs/guides/search/

Project layout

xivapi-explorer/
├── main.py                # launcher (python main.py)
├── run.sh                 # venv bootstrap + launch (macOS / Linux)
├── run.bat                # venv bootstrap + launch (Windows)
├── requirements.txt
├── xivapi/                # API client (no GUI dependencies)
│   ├── client.py          # XIVAPIClient, endpoints, error handling
│   └── __init__.py
└── app/                   # PySide6 front-end
    ├── main.py            # QApplication entry
    ├── main_window.py     # window, wiring, threading, search flow
    ├── widgets.py         # result card, detail panel, flow layout
    ├── workers.py         # generic thread-pool worker
    └── style.py           # dark theme stylesheet

The xivapi package is deliberately GUI-free so it can be reused or scripted on its own:

from xivapi import XIVAPIClient
client = XIVAPIClient()
print(client.search('Name~"potion"', ["Item"], fields="Name", limit=5))

Notes & limits

  • The API only exposes data found in the game client files — no live server or player data.
  • Search requires an explicit list of sheets.
  • Data covers every patch since 7.0.

Roadmap ideas

Natural next steps (the code is structured for them): a dedicated sheet browser with pagination, following reference links between rows, a zone-map viewer using the /asset/map endpoint, and search history / favourites.

License

Released under the MIT License.

This is an unofficial fan project. FINAL FANTASY XIV and all related data are trademarks of Square Enix. Game data is provided by XIVAPI.

About

A local PySide6 desktop GUI for searching FINAL FANTASY XIV game data via the XIVAPI v2 API.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages