Discover/Icy Veins API
live

Icy Veins APIicy-veins.com

Retrieve WoW retail class guides from Icy Veins: stat priorities, talent builds with import codes, rotation steps, BiS gear, trinket tiers, gems, and enchants.

Endpoint health
verified 2h ago
get_stat_priority
get_talent_builds
get_rotation
get_consumables
get_bis_gear
6/6 passing latest checkself-healing
Endpoints
6
Updated
2h ago

What is the Icy Veins API?

The Icy Veins API exposes World of Warcraft retail class guide data across 6 endpoints, covering every published spec from Arms Warrior to Restoration Druid. Starting with list_class_guides to discover all spec slugs by class and role, you can then pull structured stat priorities, talent import codes, rotation priority lists, best-in-slot gear per slot, trinket tier tables, and consumable recommendations — each tied to the current patch version as reported on the guide page.

This call costs1 credit / call— charged only on success
Try it
Class display name to filter by, exactly as shown in classes (one shape: Warrior). Omitted = all classes.
api.parse.bot/scraper/d40d5fe7-115c-4269-b93a-f929ae854205/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/d40d5fe7-115c-4269-b93a-f929ae854205/list_class_guides' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace icy-veins-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Icy Veins WoW class guide SDK — bounded, re-runnable."""
from parse_apis.icy_veins_com_api import IcyVeins, InputNotFound

client = IcyVeins()

# Browse all available spec guides, capped at 5.
for guide in client.guides.list(limit=5):
    print(guide.class_name, guide.spec_name, guide.role, guide.spec_slug)

# Pick the first guide and drill into its details.
guide = client.guides.list(limit=1).first()
if guide is not None:
    # Stat priorities for this spec.
    stats = guide.stat_priority()
    for ranking in stats.stat_priorities:
        print(ranking.heading, ranking.priority_string)
        for s in ranking.stats:
            print(f"  #{s.rank} {s.stat} {s.relation_to_next or ''}")

    # Talent builds — each with an in-game import code.
    talent_page = guide.talents()
    for build in talent_page.builds:
        print(build.name, build.import_code[:40] + "…")

    # Best-in-slot gear for the first BiS tab.
    gear = guide.bis_gear()
    if gear.bis_lists:
        bis = gear.bis_lists[0]
        print(bis.name, bis.heading)
        for slot in bis.items:
            if slot.item_name is not None:
                print(f"  {slot.slot}: {slot.item_name} (from {slot.source})")

    # Consumables — gems and flask/potion recommendations.
    cons = guide.consumables()
    for gem in cons.gems:
        print(f"Gem: {gem.name} (id={gem.id})")
    for cat in cons.consumables:
        print(f"{cat.category}: {cat.text}")

    # Rotation priority lists.
    rot = guide.rotation()
    for pl in rot.priority_lists:
        print(pl.tab, pl.heading)
        for step in pl.steps[:3]:
            print(f"  {step.step}. {step.text[:80]}")

# Point lookup by a known spec_slug, with error handling.
try:
    dk = client.guide(spec_slug="blood-death-knight-pve-tank")
    print(dk.class_name, dk.spec_name, dk.guide_url)
except InputNotFound:
    print("Spec guide not found")

print("exercised: guides.list / guide / stat_priority / talents / bis_gear / consumables / rotation")
All endpoints · 6 totalmissing one? ·

Lists every World of Warcraft spec guide currently published (one row per class specialization, e.g. Arms Warrior). Each row carries the class, spec, role (dps/tank/healing) and the spec_slug that every get_* endpoint in this API takes as input. One page request; not paginated. Optionally filtered to a single class by its display name (case-insensitive); an unknown class name yields an empty guides list.

Input
ParamTypeDescription
class_namestringClass display name to filter by, exactly as shown in classes (one shape: Warrior). Omitted = all classes.
Response
{
  "type": "object",
  "fields": {
    "total": "integer count of rows in guides",
    "guides": "array of spec guide rows: class_name, spec_name, role (dps|tank|healing), spec_slug (input for the get_* endpoints), guide_url (guide overview page), class_guide_url (class-level guide)",
    "classes": "array of distinct class display names present in guides"
  },
  "sample": {
    "data": {
      "total": 2,
      "guides": [
        {
          "role": "dps",
          "guide_url": "https://www.icy-veins.com/wow/arms-warrior-pve-dps-guide",
          "spec_name": "Arms",
          "spec_slug": "arms-warrior-pve-dps",
          "class_name": "Warrior",
          "class_guide_url": "https://www.icy-veins.com/wow/warrior-guide"
        },
        {
          "role": "tank",
          "guide_url": "https://www.icy-veins.com/wow/protection-warrior-pve-tank-guide",
          "spec_name": "Protection",
          "spec_slug": "protection-warrior-pve-tank",
          "class_name": "Warrior",
          "class_guide_url": "https://www.icy-veins.com/wow/warrior-guide"
        }
      ],
      "classes": [
        "Warrior"
      ]
    },
    "status": "success"
  }
}

About the Icy Veins API

Spec Discovery and Navigation

list_class_guides is the entry point. It returns every published spec guide as an array of rows, each with class_name, spec_name, role (dps, tank, or healing), a spec_slug used by all other endpoints, and the guide URL. The class_name parameter lets you filter to a single class (e.g. Warrior). The classes field in the response lists all distinct class names present, making it straightforward to enumerate available options.

Stat Priorities and Talent Builds

get_stat_priority returns structured stat priority data keyed by spec_slug. The stat_priorities array holds one entry per priority widget on the guide page — specs with multiple hero talent paths return multiple entries, each with a heading, an ordered stats array (each stat has rank, stat, key, and relation_to_next which is > or >=), and a compact priority_string. get_talent_builds returns the builds array, where each build carries a name (e.g. single-target, mythic+, raid) and an import_code ready to paste into the in-game talent UI. Both endpoints also return sections with page prose grouped by heading and last_updated as displayed on the guide.

Rotation and Gear Data

get_rotation structures the spec's ability priority list into priority_lists, each with a tab, heading, and steps array. Every step carries its text, referenced abilities (with spell IDs and names), and any conditions (talent toggle states). The talent_toggles array lists checkboxes present on the guide page (key, name, spell ID, default on/off), and presets describes any preset switches like covenant or hero talent variants. get_bis_gear organises best-in-slot data by bis_lists, one per tab (Overall, Raid, Mythic+, etc.). Each item row includes slot, item_name, item_id, source, enchant, and gems. The trinket_tiers array maps the guide's trinket ranking table, with tier labels and item references including IDs.

Gems, Enchants, and Consumables

get_consumables returns three structured arrays: gems (recommended gem items with IDs), enchants (per-slot best-enchant table with item IDs and cell text), and consumables (flattened by category — flasks, potions, food, augment runes — each with referenced item IDs). All six endpoints include a title field that embeds the current patch version string as shown on the guide page.

Reliability & maintenanceVerified

The Icy Veins API is a managed, monitored endpoint for icy-veins.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when icy-veins.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official icy-veins.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2h ago
Latest check
6/6 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a WoW addon or companion app that shows current stat priorities and talent import codes for any spec without manual guide parsing.
  • Automate gear auditing by comparing a player's equipped items against the bis_lists item IDs from get_bis_gear.
  • Generate rotation reminder overlays keyed to priority_lists steps and their referenced spell IDs from get_rotation.
  • Populate a class-tier dashboard for a guild officer tool using role and spec data from list_class_guides.
  • Track guide changes across patches by storing last_updated and title fields from each spec endpoint over time.
  • Pre-populate a consumables shopping list by category using the consumables array and item IDs from get_consumables.
  • Sync a Discord bot's !bis command with live trinket tier rankings from the trinket_tiers array in get_bis_gear.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Icy Veins have an official developer API?+
No. Icy Veins does not publish a public developer API or documented data feed for its guide content.
How does `list_class_guides` filtering work, and what does `spec_slug` look like?+
Pass the optional class_name parameter with a class display name exactly as returned in the classes array (e.g. Warrior, Death Knight) to narrow results. Omitting it returns all specs. The spec_slug in each row follows the pattern <spec>-<class>-pve-<role> (for example arms-warrior-pve-dps) and is the required input for every get_* endpoint.
Does `get_rotation` expose talent-conditional rotation steps?+
Yes. Each step in priority_lists[*].steps carries a conditions array that records which talent toggles must be on or off for that step to apply. The talent_toggles array on the same response lists every toggle present on the guide page with its key, name, spell_id, and default_on state, so you can reconstruct conditional priority lists programmatically.
Does the API cover Icy Veins guides for WoW Classic, Season of Discovery, or Diablo IV?+
Not currently. The API covers World of Warcraft retail (live) class and spec guides only. Icy Veins also publishes Classic WoW, Hardcore, and Diablo IV guides, but those are not included. You can fork this API on Parse and revise it to add endpoints targeting those guide sections.
Are all item fields in `bis_lists` always populated?+
Not always. The endpoint description notes that item fields may be null when the guide page omits them for a given slot — for example, a slot the guide explicitly marks as not requiring an enchant will have a null enchant field. Similarly, trinket_tiers returns an empty array for specs whose guide page does not include a trinket ranking table.
Page content last updated . Spec covers 6 endpoints from icy-veins.com.
Related APIs in EntertainmentSee all →
wowhead.com API
Access comprehensive World of Warcraft game data including items, NPCs, spells, and quests, plus stay updated with the latest WoW news and in-game events. Search the complete Wowhead database and read individual news articles to keep informed about current happenings in the game.
bg3.wiki API
Search and retrieve detailed information about Baldur's Gate 3 classes, subclasses, spells, items, quests, and other game content from the official wiki. Build character guides, plan builds, and look up game mechanics without leaving your app.
simplearmory.com API
Track World of Warcraft character achievements by retrieving detailed data on completed and incomplete accomplishments organized by category. Monitor your progress across all achievement types to see exactly what you've earned and what remains to unlock.
prydwen.gg API
Get detailed character build guides for Wuthering Waves directly from Prydwen.gg, including character ratings, skill recommendations, optimal weapons, echo selections, team compositions, and rotation strategies. Instantly access comprehensive loadout information to optimize your characters' performance.
5e.tools API
Search and retrieve D&D 5e game data like races, classes, and spells to power your character builders, campaign tools, or reference applications. Access comprehensive spell sources and character creation options directly from the official 5e.tools database.
dofus.com API
Access comprehensive Dofus 3.0 game data including detailed class information, current bug reports, daily Almanax rewards, and player rankings. Explore the full encyclopedia and community statistics to optimize your gameplay and stay updated on game status.
wynncraft.com API
Access detailed Wynncraft game information to look up item metadata and search across the complete item database, retrieve player statistics and character inventories, and browse guild information and global search results. Use this data to compare gear, track player progress, analyze guild rosters, or build tools for the Wynncraft community.
howbazaar.gg API
Query items, skills, merchants, and monsters from the How Bazaar game database. Look up detailed information about in-game equipment, abilities, NPCs, and enemy encounters, with optional filters by hero, tier, size, and tag.