Only show guides for your app
The bridge plugin that lets other plugins show live values like a player's name, balance, or rank — what expansions are, how to install them, and where placeholders actually appear.
PlaceholderAPI — everyone calls it PAPI — is one of those plugins that does nothing on its own and yet turns up on almost every server. Its whole job is to be the middleman: it lets one plugin display a value that belongs to another plugin. That's how a scoreboard shows your money, or a tab list shows your rank. Once you understand the pattern, half the "how do I show X in Y" questions answer themselves.
| At a glance | |
|---|---|
| You need | A plugin-capable server (Purpur, PaperSpigot, Spigot family) and PlaceholderAPI installed from the Plugins page |
| Plan | Any |
| Pairs with | TAB & scoreboards, chat plugins, holograms |
A placeholder is a little token like %player_name% or %vault_eco_balance%. When a plugin that "supports PlaceholderAPI" renders text containing that token, PAPI swaps it for the live value for that player. So a tab-list header of Hi %player_name%, you have $%vault_eco_balance% becomes Hi Steve, you have $1200 on Steve's screen.
Two things have to be true for that to work:
🎯 Good to know: PAPI is a dependency layer, not a feature you see. Installed alone it changes nothing in-game. Its value is entirely that other plugins can lean on it — which is why so many plugins list it as a required or optional dependency.
PAPI ships almost no placeholders itself. Instead, each set of placeholders lives in an expansion — a small add-on. %player_...% comes from the Player expansion, %vault_...% from the Vault expansion, and so on. You download the ones you need from PAPI's eCloud with in-game commands:
/papi ecloud download Player
/papi ecloud download Vault
/papi reload
download fetches the expansion into /plugins/PlaceholderAPI/expansions/, and reload makes it live without a full restart. A few useful commands:
| Command | What it does |
|---|---|
/papi ecloud download <name> |
Download an expansion from the cloud |
/papi reload |
Reload PAPI and its expansions |
/papi list |
List the expansions currently loaded |
/papi info <expansion> |
Show a downloaded expansion's available placeholders |
/papi parse me %player_name% |
Test a placeholder against yourself — prints the resolved value |
That last one is the trick worth remembering: /papi parse me <placeholder> tells you instantly whether a placeholder resolves before you wire it into another plugin's config.
💡 Tip: Many plugins register their own placeholders automatically when both they and PAPI are installed — LuckPerms exposes
%luckperms_...%, an economy exposes its balance, and so on. You don't always download an expansion; sometimes just having both plugins present is enough./papi listshows you what's actually available.
You almost never type placeholders into PAPI itself — you type them into other plugins' configs:
%luckperms_prefix% in front of each message. See chat plugins.The workflow is always the same: install PAPI, make sure the right expansion is loaded (/papi list), test the placeholder (/papi parse me ...), then paste it into the other plugin's config and reload that plugin.
Run /papi parse me %player_name% — it should print your name. Then pick a placeholder from an installed expansion (/papi info <expansion> lists them) and parse that too. If both resolve, PAPI is healthy and the only thing left is whether the displaying plugin has PAPI support switched on.
%vault_eco_balance% printed raw) — either the displaying plugin doesn't support PAPI (or its PAPI option is off), or the expansion providing that placeholder isn't loaded. Check /papi list./papi parse returns nothing or the token unchanged — the expansion isn't installed. /papi ecloud download <name> then /papi reload.%something%? — the placeholder's prefix names it (%vault_...% → Vault expansion). Expansion names and placeholders change over time, so treat PAPI's own eCloud listing as the current reference.