LibProfessionDB — Offline Profession & Recipe Database for WoW
LibProfessionDB is a lightweight library that lets any addon read World of Warcraft crafting-recipe details offline — a recipe's name, reagents, skill-up difficulty tiers, required skill, produced item, and enriched effect text — without a trade-skill window being open and without the recipe being known by the character.
WoW only exposes recipe data while a profession window is open, and only for professions the player actually knows. LibProfessionDB solves that by shipping a pre-built database generated from the game's own client data, so players never wait for a scan and addon authors get instant lookups for any profession — guild crafters, alts, and recipes you haven't learned yet.
This is a developer library. Install it if another addon lists it as a dependency, or depend on it if you are an addon author.
What it can do
- Look up a recipe by profession + recipe id: name, reagents, produced item
- Read the skill-up difficulty tiers (orange / yellow / green / grey thresholds)
- Read the required skill to learn a recipe, and its recipe-scroll item id
- Read enriched, searchable effect text for enchants (e.g.
+5 Weapon Damage, +1 All Stats)
- Search by name or effect substring, optionally scoped to one profession
- Iterate one profession or the entire database
For addon authors
local DB = LibStub("LibProfessionDB-1.0", true)
if DB and DB:IsReady() then
local r = DB:GetRecipe(333, 13626) -- Enchant Chest - Minor Stats
-- r.name, r.effect ("+1 All Stats"), r.difficulty {150,175,195,215}, r.reagents
for _, hit in ipairs(DB:Search({ query = "agility" })) do print(hit.name, hit.effect) end
end
Key methods: IsReady, Count, GetMeta, GetProfessions, GetRecipe, GetName, GetReagents, GetEffect, GetDifficulty, GetRequiredSkill, GetItemID, GetCraftedItemID, Search, Iterate.
Data coverage
Recipe data (difficulty, required skill, reagents, names, effect text) differs between game versions, so it is shipped point-in-time per game version — never merged. LibProfessionDB is available for every version except Retail.
- Game versions: Vanilla / Era, TBC, Wrath, Cataclysm, Mists — each shipped with its own point-in-time recipe set.
- Languages: English (US/GB), German, Spanish (EU & Latin America), French, Italian, Korean, Portuguese, Russian, and Simplified & Traditional Chinese — every official WoW locale.
Recipe names and enchant effect text are translated per locale; difficulty, reagents, and ids are identical across languages.
Requirements
- Ace3 and VersionCheck-1.0 — auto-installed by CurseForge (they back the optional guild version-check)
Recent Updates
v1.2.0 (2026-05-30) — Core/names data split
- De-duplicated the locale-independent data: structural fields (difficulty, reagents, ids, …) now load once per game from a
_core file, and each language ships only name + effect — instead of every locale carrying a full self-contained copy. Smaller download and a much lighter once-per-login parse, with no change to the query API.
v1.1.0 (2026-05-30) — Full localization
- Recipe names and enchant effect text now ship in every official WoW locale (deDE, esES, esMX, frFR, itIT, koKR, ptBR, ruRU, zhCN, zhTW; enGB mirrors enUS) alongside English — 12 locales, ~202,000 recipe entries.
- Only text is translated; recipe sets, difficulty, reagents, and ids are identical across languages. Each data file loads only on its matching
GetLocale().
v1.0.0 (2026-05-30) — Initial release
- First release of LibProfessionDB — offline recipe lookups (name, reagents, difficulty tiers, required skill, produced item, effect text) exposed as a LibStub library for addon authors.
- Point-in-time recipe data per game version (Vanilla through Mists), English, with enriched searchable enchant effect text.
- Available for every version except Retail.
Support
Questions, bug reports, or coverage requests — reach out on Discord.