Warframe APIwiki.warframe.com ↗
Access structured damage stats, fire modes, and combat metrics for every Warframe weapon via 3 endpoints covering all weapon slots and attack types.
What is the Warframe API?
The Warframe Wiki Weapon Stats API exposes damage breakdowns, fire mode data, and combat metadata for every weapon in Warframe across 3 endpoints. The get_all_weapons endpoint returns one record per attack entry — not one per weapon — covering primary, secondary, melee, archwing, and companion slots. Each record includes damage type distributions, reload times, accuracy values, mastery rank requirements, and riven disposition scores, giving you the full stat picture the wiki carries.
curl -X GET 'https://api.parse.bot/scraper/764de28a-44e4-4670-8534-9514dd2ed147/get_all_weapons?slots=misc' \ -H 'X-API-Key: $PARSE_API_KEY'
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 wiki-warframe-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: Warframe Weapons Stats — search, filter, and inspect weapon damage data."""
from parse_apis.warframe_weapons_stats_api import Warframe, WeaponCategory, WeaponNotFound
client = Warframe()
# Search for rifles in the primary category, capped at 5 results.
for record in client.attackrecords.search(query="Braton", category=WeaponCategory.PRIMARY, limit=5):
print(record.weapon_name, record.attack_name, record.total_damage)
# Drill into one weapon's full details by name.
weapon = client.weapons.get(weapon_name="Nikana Prime")
print(weapon.weapon_name, weapon.mastery_rank, weapon.disposition)
for attack in weapon.attacks:
print(f" {attack.attack_name}: {attack.total_damage} dmg, crit={attack.critical_chance}")
# List all attack records from a single slot.
for record in client.attackrecords.list(slots="misc", limit=3):
print(record.weapon_name, record.weapon_subtype, record.fire_rate)
# Handle a weapon that doesn't exist.
try:
client.weapons.get(weapon_name="Nonexistent Weapon XYZ")
except WeaponNotFound as exc:
print(f"Not found: {exc.weapon_name}")
print("exercised: attackrecords.search / weapons.get / attackrecords.list / WeaponNotFound")
Get complete weapon attack stats for all Warframe weapons across all categories. Returns one record per attack/fire mode entry (not one per weapon). Each record includes the full damage breakdown by element type plus combat stats (crit, status, fire rate). Fetches from 8 weapon data modules; the slots parameter controls which modules are queried. Total records typically exceed 2000 across all slots.
| Param | Type | Description |
|---|---|---|
| slots | string | Comma-separated list of weapon slots to fetch. Accepted values: primary, secondary, melee, archwing, companion, railjack, modular, misc. |
{
"type": "object",
"fields": {
"weapons": "array of attack record objects with full damage breakdowns per element type",
"total_records": "integer total count of attack records returned"
},
"sample": {
"data": {
"weapons": [
{
"gas": null,
"cold": null,
"heat": null,
"true": null,
"void": null,
"blast": null,
"range": 300,
"slash": 66.6,
"toxin": null,
"viral": null,
"impact": 66.7,
"pellets": 1,
"wind_up": null,
"finisher": null,
"magnetic": null,
"puncture": 66.7,
"ammo_cost": null,
"corrosive": null,
"fire_mode": "Hit-Scan",
"fire_rate": 13.3,
"multishot": 1,
"radiation": null,
"attack_name": "Normal Attack",
"burst_count": null,
"charge_time": null,
"electricity": null,
"falloff_end": null,
"melee_range": null,
"reload_time": 4,
"slam_attack": null,
"slam_radius": null,
"weapon_name": "Rampart",
"attack_speed": null,
"forced_procs": null,
"heavy_attack": null,
"sweep_radius": null,
"total_damage": 200,
"trigger_type": "Auto",
"falloff_start": null,
"magazine_size": 200,
"punch_through": 0,
"status_chance": 0,
"combo_duration": null,
"follow_through": null,
"weapon_subtype": "Unique",
"critical_chance": 0,
"weapon_category": "Emplacement",
"falloff_reduction": null,
"heavy_slam_attack": null,
"heavy_slam_radius": null,
"critical_multiplier": 0,
"headshot_multiplier": null
}
],
"total_records": 2
},
"status": "success"
}
}About the Warframe API
Weapon Coverage and Data Shape
The API returns attack-level records, meaning a single weapon with multiple fire modes or an alternate fire will produce multiple records. get_all_weapons accepts an optional slots parameter as a comma-separated list (primary, secondary, melee, archwing, companion) so you can pull only the categories you need rather than the full dataset. The total_records field in every response tells you exactly how many attack entries came back.
Searching and Filtering
search_weapons lets you narrow results by weapon name substring (query), weapon subtype (class, e.g. Nikana, Shotgun, Pistol), or slot category (category). The limit parameter caps the result count. All string matches are case-insensitive substrings, so querying query=braton will match Braton, Braton Prime, and Braton Vandal. The category field accepts values including archgun and archmelee in addition to the standard slots, giving slightly broader coverage than the slots filter on get_all_weapons.
Weapon-Level Metadata via get_weapon_details
get_weapon_details requires an exact weapon name (case-insensitive) and returns both weapon-level fields and a full attacks array. Weapon-level fields include family, traits (e.g. Prime, Vaulted), introduced (update version string), disposition (riven disposition), mastery_rank, max_ammo, reload_time, and accuracy. Fields that the wiki does not list for a given weapon come back as null rather than being omitted, so response shapes are consistent across all weapon types.
Source
Data is sourced from the community-maintained Warframe Wiki at wiki.warframe.com, which is updated by players and wiki contributors as the game receives patches. Stat accuracy reflects the wiki's current content at the time of the request.
The Warframe API is a managed, monitored endpoint for wiki.warframe.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when wiki.warframe.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 wiki.warframe.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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a weapon comparison tool using
damagebreakdowns andreload_timefromget_weapon_detailsto rank weapons by effective DPS. - Filter all Nikana-class weapons by passing
class=Nikanatosearch_weaponsto compare mastery rank requirements and riven dispositions. - Identify newly introduced weapons by sorting on the
introducedfield returned fromget_weapon_details. - List all Vaulted Prime weapons by checking the
traitsarray inget_weapon_detailsresponses for the Vaulted trait. - Pull companion slot weapon stats using the
slots=companionfilter onget_all_weaponsto evaluate Kubrow and Kavat attack data. - Generate a per-damage-type breakdown across all secondary weapons to analyze slash, puncture, and impact distributions for status-focused builds.
- Check riven disposition scores across all primary weapons by iterating
get_all_weaponsresults filtered toslots=primaryand readingdisposition.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does the Warframe Wiki have an official developer API?+
What does `get_weapon_details` return that `search_weapons` does not?+
get_weapon_details adds weapon-level metadata fields not present in search results: family, traits, introduced, disposition, mastery_rank, max_ammo, reload_time, and accuracy. The attacks array in get_weapon_details is the same attack record format returned by the search endpoints, so damage breakdowns are identical across all three endpoints.