(→Upgrades Schema: Riven Mods) |
m (→Riven Mods: Minor) |
||
Line 318: | Line 318: | ||
Sample challenge complication: |
Sample challenge complication: |
||
<syntaxhighlight lang="json"> |
<syntaxhighlight lang="json"> |
||
+ | { |
||
− | "fullName":"/Lotus/Types/Challenges/Complications/ResetOnAlarmRaised", |
+ | "fullName":"/Lotus/Types/Challenges/Complications/ResetOnAlarmRaised", |
− | "description":"without raising any alarms", |
||
− | " |
+ | "description":"without raising any alarms", |
+ | "overrideTag":"Get |COUNT| kills in a row while Wall Dashing or Wall Latching without touching the floor or raising any alarms" |
||
+ | } |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
Revision as of 23:21, 15 October 2021
Mobile Export (also known as Public Export) refers to a public endpoint hosted by Digital Extremes that is used to feed internal data to Warframe Nexus, the official mobile companion app for WARFRAME, and the Warframe Arsenal Twitch Extension. Note that the wiki is not responsible for any malicious use of this data. Any data extracted should be used for informational purposes only and does not necessarily represent the current and future state of the game. Content is subjected for removal as the game updates so please do not use this for speculative reasons.
Details
The endpoint can be found on https://content.warframe.com/PublicExport/. To access its contents, users must add the desired string from the index file provided in https://content.warframe.com/PublicExport/index_<language_code>.txt.lzma
to https://content.warframe.com/PublicExport/Manifest/
For example, the following URL is valid as of Hotfix 30.7.6 (2021-09-23): https://content.warframe.com/PublicExport/Manifest/ExportCustoms_en.json!00_uxbrm+cu3HU-I5yyC7wXSw
A second endpoint to the same data can be found on http://origin.warframe.com/origin/00000000/PublicExport/ with the differences being that the JSON file will be displayed directly in the browser instead of prompting to download the data onto your computer and that the connection is not secured through HTTPS. To access its contents, users must add the desired string from the index file provided in http://origin.warframe.com/origin/00000000/PublicExport/index_<language_code>.txt.lzma
to http://origin.warframe.com/origin/00000000/PublicExport/Manifest/
For example, the following URL is valid as of Hotfix 30.8.1 (2021-10-06): http://origin.warframe.com/origin/00000000/PublicExport/Manifest/ExportCustoms_en.json!00_4mVuc7DIS-KKdFs2yGYI3Q
Note that there may be some encoding issues with one example being with the right single quotation mark ’ (HTML entity ’
or 0xE2 0x80 0x99
hex) where it becomes ’ when content is viewed from the browser or ΓÇÖ when downloaded to a Windows machine. Make sure that your program is using UTF-8 encoding when reading, writing, storing, and displaying data.
The data obtained from the Mobile Export will be in the form of a JSON file. Note that the 26 character hash (e.g. !00_uxbrm+cu3HU-I5yyC7wXSw
) at the end of file names will change every time the developers update the manifest, thus clients will need to access the index file in order to get the latest endpoint for a particular file.
Available Languages
Depending on the language code used, the name
and description
keys of most content will be localized to the appropriate locale.
Code | Language |
---|---|
de |
German |
en |
English |
es |
Spanish (Spain) |
fr |
French |
it |
Italian |
ja |
Japanese |
ko |
Korean |
pl |
Polish |
pt |
Portuguese (Brazil) |
ru |
Russian |
tc |
Chinese (Traditional) |
th |
Thai |
tr |
Turkish |
uk |
Ukrainian |
zh |
Chinese (Simplified) |
Available Content
ExportCustoms_<language_code>.json
- Warframe Cosmetics, Weapon skins, Companion skins, and TennoGen skins (ExportCustoms
)ExportDrones_<language_code>.json
- Extractors (ExportDrones
)ExportFlavour_<language_code>.json
- Player customizable content (Glyphs, Color Picker Extension, Decorations, Landing Craft skins, Animation Sets, menu themes, etc.) (ExportFlavour
)ExportFusionBundles_<language_code>.json
- Mod bundles in the Market (ExportFusionBundles
)ExportGear_<language_code>.json
- Gear items (ExportGear
)ExportKeys_<language_code>.json
- Mission keys (e.g. Mutalist Alad V Assassinate Key) and Quests (ExportKeys
)ExportRecipes_<language_code>.json
- Blueprints (ExportRecipes
)ExportRegions_<language_code>.json
- Star Chart nodes (ExportRegions
)ExportRelicArcane_<language_code>.json
- Void Relics and Arcane Enhancements (ExportRelicArcane
)ExportResources_<language_code>.json
- Resources (ExportResources
)ExportSentinels_<language_code>.json
- Sentinels, Kubrows, Kavats, Predasites, Vulpaphylas (ExportSentinels
)ExportSortieRewards_<language_code>.json
- Sortie rewards (
ExportSortieRewards
) - Nightwave challenges (
ExportNightwave
) - Veil Proxima nodes for Sentient anomaly (
ExportRailjack
) - Intrinsics (
ExportIntrinsics
) - Boosters, Gene-Masking Kits, misc. (
ExportOther
)
- Sortie rewards (
ExportUpgrades_<language_code>.json
- Mods, Riven Mods challenges and base stats (
ExportUpgrades
) - Focus nodes (
ExportFocusUpgrades
) - Plexus mods (
ExportAvionics
) - Set Mods (
ExportModSet
)
- Mods, Riven Mods challenges and base stats (
ExportWarframes_<language_code>.json
- Warframes, Archwings, Necramechs (
ExportWarframes
) - Helminth abilities (
ExportAbilities
)
- Warframes, Archwings, Necramechs (
ExportWeapons_<language_code>.json
- Weapons, modular weapons (Amps, Zaws, Kitguns), modular companion parts (MOA (Companion), Predasite, Vulpaphyla, Hound (Companion)) (
ExportWeapons
) - Railjack Armaments (
ExportRailjackWeapons
)
- Weapons, modular weapons (Amps, Zaws, Kitguns), modular companion parts (MOA (Companion), Predasite, Vulpaphyla, Hound (Companion)) (
ExportManifest.json
- Full image manifest (same for all languages)
Extracting Images
ExportManifest.json
has every item's uniqueName
paired with a textureLocation
. textureLocation
can be added to the end of https://content.warframe.com/PublicExport/
to get the item's image asset.
- Most assets will be 512 by 512 pixels in dimensions
- Mod images will be 256 by 256 pixels however
For example, as of Hotfix 30.7.6 (2021-09-23) the following link is valid to get Lato's image: https://content.warframe.com/PublicExport/Lotus/Interface/Icons/Store/Pistol.png!00_l6qtnhCRgAMSyjjAp1RdVQ
{
"uniqueName":"/Lotus/Weapons/Tenno/Pistol/Pistol",
"textureLocation":"/Lotus/Interface/Icons/Store/Pistol.png!00_l6qtnhCRgAMSyjjAp1RdVQ"
}
Weapons Schema
Guns
- "name" {string} Weapon name in all caps
- "uniqueName" {string} Relative path to weapon data
- "codexSecret" {boolean} Whether or not weapon is hidden from Codex if player does not have it
- "damagePerShot" {float[]} A 20-element array of floats representing individual damage type values in the following order:
- "totalDamage" {float} Total Damage
- "description" {string} Weapon description
- "criticalChance" {float} Weapon Critical Chance
- "criticalMultiplier" {float} Weapon Critical Multiplier
- "procChance" {float} Weapon Status Chance
- "fireRate" {float} Weapon Fire Rate
- "masteryReq" {int} Mastery Rank requirement
- "productCategory" {string} Weapon's product category ("Pistols", "LongGuns", "Melee", "SpaceGuns", "SpaceMelee", "SpecialItems", "CrewShipWeapons")
- "excludeFromCodex" {boolean} Whether or not weapon will appear in Codex
- "slot" {int} Weapon's slot number (0 for secondaries, 1 for primaries/Arch-guns, 5 for melees/Arch-melees, 7 for Exalted Weapons, 13 for Railjack armaments)
- "accuracy" {float} Weapon accuracy rating
- "omegaAttenuation" {float} Weapon Riven Mod disposition
- "maxLevelCap" {int} Weapon's max rank, reserved for Kuva and Tenet weapons
- "noise" {string} Weapon's Noise Level in all caps
- "trigger" {string} Weapon's Trigger Type in all caps
- "magazineSize" {int} Weapon's Magazine Capacity
- "reloadTime" {float} Weapon's Reload time
- "multishot" {int} Weapon's base Multishot
Sample:
{
"name":"MARA DETRON",
"uniqueName":"/Lotus/Weapons/VoidTrader/VTDetron",
"codexSecret":true,
"damagePerShot":[0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0],
"totalDamage":40,
"description":"For Orokin-era smugglers, this fearsome handheld shotgun was a favored tool for 'dispute resolution'.",
"criticalChance":0.079999998,
"criticalMultiplier":1.5,
"procChance":0.1371429,
"fireRate":3.3333335,
"masteryReq":9,
"productCategory":"Pistols",
"slot":0,
"accuracy":13.333333,
"masteryReq":9,
"omegaAttenuation":1.1,
"noise":"ALARMING",
"trigger":"SEMI",
"magazineSize":8,
"reloadTime":1.05,
"multishot":7
}
Melee
- "name" {string} Weapon name in all caps
- "uniqueName" {string} Relative path to weapon data
- "codexSecret" {boolean} Whether or not weapon is hidden from Codex if player does not have it
- "damagePerShot" {float[]} A 20-element array of floats representing individual damage type values in the following order:
- "totalDamage" {float} Total Damage
- "description" {string} Weapon description
- "criticalChance" {float} Weapon Critical Chance
- "criticalMultiplier" {float} Weapon Critical Multiplier
- "procChance" {float} Weapon Status Chance
- "fireRate" {float} Weapon Attack Speed
- "masteryReq" {int} Mastery Rank requirement
- "productCategory" {string} Weapon's product category ("Pistols", "LongGuns", "Melee", "SpaceGuns", "SpaceMelee", "SpecialItems", "CrewShipWeapons")
- "excludeFromCodex" {boolean} Whether or not weapon will appear in Codex
- "slot" {int} Weapon's slot number (0 for secondaries, 1 for primaries/Arch-guns, 5 for melees/Arch-melees, 7 for Exalted Weapons, 13 for Railjack armaments)
- "omegaAttenuation" {float} Weapon Riven Mod disposition
- "maxLevelCap" {int} Weapon's max rank, reserved for Kuva and Tenet weapons
- "blockingAngle" {int} Melee's blocking angle
- "comboDuration" {int} Melee Combo duration
- "followThrough" {float} Melee's follow through
- "range" {float} Melee's range
- "slamAttack" {float} Melee's direct slam attack damage
- "slamRadialDamage" {float} Melee's radial slam attack damage
- "slamRadius" {float} Melee's slam radius
- "slideAttack" {float} Melee's slide attack damage
- "heavyAttackDamage" {float} Melee's heavy attack damage
- "heavySlamAttack" {float} Melee's heavy direct slam attack damage
- "heavySlamRadialDamage" {float} Melee's heavy radial slam attack damage
- "heavySlamRadius" {float} Melee's heavy slam radius
- "windUp" {float} Melee's heavy attack wind-up time
Sample:
{
"name":"SKANA",
"uniqueName":"/Lotus/Weapons/Tenno/Melee/LongSword/LongSword",
"codexSecret":false,
"damagePerShot":[18,18,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
"totalDamage":120,
"description":"Before all other weapons, Tenno master the Skana. This simple blade becomes immensely powerful in the hands of a master. For Tenno, it is the foundation of their fighting style and a pillar of their culture.",
"criticalChance":0.050000001,
"criticalMultiplier":1.5,
"procChance":0.15999997,
"fireRate":0.83333337,
"masteryReq":0,
"productCategory":"Melee",
"slot":5,
"omegaAttenuation":1.3,
"blockingAngle":55,
"comboDuration":5,
"followThrough":0.60000002,
"range":2.5,
"slamAttack":360,
"slamRadialDamage":120,
"slamRadius":7,
"slideAttack":120,
"heavyAttackDamage":600,
"heavySlamAttack":480,
"heavySlamRadialDamage":480,
"heavySlamRadius":8,
"windUp":0.60000002
}
Upgrades Schema
Excluding Riven Mods and their challenges:
- "uniqueName" {string} Relative path to upgrade data
- "name" {string} Upgrade name
- "polarity" {string} Polarity of upgrade using internal names
- "rarity" {string} Upgrade rarity in all caps
- "codexSecret" {boolean} Whether or not upgrade is hidden from Codex if player does not have it
- "baseDrain" {int} Base capacity drain
- "fusionLimit" {int} Maximum number of ranks
- "excludeFromCodex" {boolean} Whether or not upgrade will appear in Codex
- "isUtility" {boolean} Whether or not upgrade can be fitted in Exilus slot
- "compatName" {string} Name of item that the upgrade can be equipped as seen on card description on in all caps (e.g. "WARFRAME", "VULKAR", "OBERON", "NECRAMECH", "PISTOL (NO AOE)", "POLEARMS")
- "type" {string} Name of class of upgrades that it belongs to in all caps (e.g. "WARFRAME", "PRIMARY", "ARCHWING", "STANCE")
- "description" {string[]} String array containing upgrade description(s)
- "subtype" {string} For augment mods, the relative path to Warframe
- "levelStats" {Object[]} Array of JSON objects, each containing the upgrade description (not actual value) at a particular rank
Sample:
{
"uniqueName":"/Lotus/Upgrades/Mods/Warframe/Expert/AvatarKnockdownResistanceModExpert",
"name":"Primed Sure Footed",
"polarity":"AP_DEFENSE",
"rarity":"LEGENDARY",
"codexSecret":true,
"baseDrain":6,
"fusionLimit":10,
"isUtility":true,
"compatName":"WARFRAME",
"type":"WARFRAME",
"levelStats":[
{"stats":["+9% Chance to Resist Knockdown"]},
{"stats":["+18% Chance to Resist Knockdown"]},
{"stats":["+27% Chance to Resist Knockdown"]},
{"stats":["+36% Chance to Resist Knockdown"]},
{"stats":["+45% Chance to Resist Knockdown"]},
{"stats":["+55% Chance to Resist Knockdown"]},
{"stats":["+64% Chance to Resist Knockdown"]},
{"stats":["+73% Chance to Resist Knockdown"]},
{"stats":["+82% Chance to Resist Knockdown"]},
{"stats":["+91% Chance to Resist Knockdown"]},
{"stats":["+100% Chance to Resist Knockdown"]}
]
}
Riven Mods
- "uniqueName" {string} Relative path to upgrade data
- "name" {string} Upgrade name
- "polarity" {string} Polarity of upgrade using internal names
- "rarity" {string} Upgrade rarity in all caps
- "codexSecret" {boolean} Whether or not upgrade is hidden from Codex if player does not have it
- "baseDrain" {int} Base capacity drain
- "fusionLimit" {int} Maximum number of ranks
- "excludeFromCodex" {boolean} Whether or not upgrade will appear in Codex
- "upgradeEntries" {Object[]} Array of objects containing all possible stats
- "availableChallenges" {Object[]} Array of objects containing all possible challenges and their additional modifiers ("complications")
Sample Riven Mod:
{
"uniqueName":"/Lotus/Upgrades/Mods/Randomized/LotusModularRifleRandomModRare",
"name":"DO NOT USE",
"polarity":"AP_UNIVERSAL",
"rarity":"COMMON",
"codexSecret":true,
"baseDrain":-1295140757,
"fusionLimit":32764,
"excludeFromCodex":true,
"upgradeEntries":[...],
"availableChallenges":[...]
}
Sample stat:
{
"tag":"WeaponArmorPiercingDamageMod",
"prefixTag":"insi",
"suffixTag":"cak",
"upgradeValues":[{"value":0.01333,"locTag":"|val|% <DT_PUNCTURE>Puncture"}
}
Sample challenge:
{
"fullName":"/Lotus/Types/Challenges/RandomizedKill",
"description":"Kill |COUNT| Enemies",
"complications":[...]
}
Sample challenge complication:
{
"fullName":"/Lotus/Types/Challenges/Complications/ResetOnAlarmRaised",
"description":"without raising any alarms",
"overrideTag":"Get |COUNT| kills in a row while Wall Dashing or Wall Latching without touching the floor or raising any alarms"
}
External Links
- https://web.archive.org/web/20190720085542/https://warframe.fandom.com/wiki/User_blog:DEDrew/How_to_find_Warframe_Images - Archive of [DE]Drew's original blog post of extracting image data from the Mobile Export (outdated)
- https://github.com/WFCD/warframe-items Warframe-items scraper using this endpoint
See Also
- World State for data on the current state of the Star Chart
- Drop Tables for data on WARFRAME's reward drop tables