{"id":18469183,"url":"https://github.com/wfcd/warframe-drop-data","last_synced_at":"2025-04-04T21:06:53.334Z","repository":{"id":46007373,"uuid":"96549681","full_name":"WFCD/warframe-drop-data","owner":"WFCD","description":":moneybag: Warframe Drop Data in an easier to parse format.","archived":false,"fork":false,"pushed_at":"2025-04-03T23:18:30.000Z","size":38048,"stargazers_count":133,"open_issues_count":0,"forks_count":23,"subscribers_count":16,"default_branch":"main","last_synced_at":"2025-04-03T23:24:01.366Z","etag":null,"topics":["data","drop-data","drop-sorting","enemies","game","mod","play-game","relic","reward","warframe"],"latest_commit_sha":null,"homepage":"http://drops.warframestat.us","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WFCD.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-07T15:03:47.000Z","updated_at":"2025-03-29T22:58:02.000Z","dependencies_parsed_at":"2023-02-11T21:01:21.198Z","dependency_job_id":"27ee5dc5-147c-497f-bd81-107e5ceb482e","html_url":"https://github.com/WFCD/warframe-drop-data","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFCD%2Fwarframe-drop-data","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFCD%2Fwarframe-drop-data/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFCD%2Fwarframe-drop-data/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFCD%2Fwarframe-drop-data/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WFCD","download_url":"https://codeload.github.com/WFCD/warframe-drop-data/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247249524,"owners_count":20908212,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data","drop-data","drop-sorting","enemies","game","mod","play-game","relic","reward","warframe"],"created_at":"2024-11-06T10:09:13.486Z","updated_at":"2025-04-04T21:06:53.311Z","avatar_url":"https://github.com/WFCD.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# warframe-drop-data\n\n[![Supported by the Warframe Community Developers](https://img.shields.io/badge/Warframe_Comm_Devs-supported-blue.svg?color=2E96EF\u0026logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOTgiIGhlaWdodD0iMTczIiB2aWV3Qm94PSIwIDAgMjk4IDE3MyI%2BPHBhdGggZD0iTTE4NSA2N2MxNSA4IDI4IDE2IDMxIDE5czIzIDE4LTcgNjBjMCAwIDM1LTMxIDI2LTc5LTE0LTctNjItMzYtNzAtNDUtNC01LTEwLTEyLTE1LTIyLTUgMTAtOSAxNC0xNSAyMi0xMyAxMy01OCAzOC03MiA0NS05IDQ4IDI2IDc5IDI2IDc5LTMwLTQyLTEwLTU3LTctNjBsMzEtMTkgMzYtMjIgMzYgMjJ6TTU1IDE3M2wtMTctM2MtOC0xOS0yMC00NC0yNC01MC01LTctNy0xMS0xNC0xNWwxOC0yYzE2LTMgMjItNyAzMi0xMyAxIDYgMCA5IDIgMTQtNiA0LTIxIDEwLTI0IDE2IDMgMTQgNSAyNyAyNyA1M3ptMTYtMTFsLTktMi0xNC0yOWEzMCAzMCAwIDAgMC04LThoN2wxMy00IDQgN2MtMyAyLTcgMy04IDZhODYgODYgMCAwIDAgMTUgMzB6bTE3MiAxMWwxNy0zYzgtMTkgMjAtNDQgMjQtNTAgNS03IDctMTEgMTQtMTVsLTE4LTJjLTE2LTMtMjItNy0zMi0xMy0xIDYgMCA5LTIgMTQgNiA0IDIxIDEwIDI0IDE2LTMgMTQtNSAyNy0yNyA1M3ptLTE2LTExbDktMiAxNC0yOWEzMCAzMCAwIDAgMSA4LThoLTdsLTEzLTQtNCA3YzMgMiA3IDMgOCA2YTg2IDg2IDAgMCAxLTE1IDMwem0tNzktNDBsLTYtNmMtMSAzLTMgNi02IDdsNSA1YTUgNSAwIDAgMSAyIDB6bS0xMy0yYTQgNCAwIDAgMSAxLTJsMi0yYTQgNCAwIDAgMSAyLTFsNC0xNy0xNy0xMC04IDcgMTMgOC0yIDctNyAyLTgtMTItOCA4IDEwIDE3em0xMiAxMWE1IDUgMCAwIDAtNC0yIDQgNCAwIDAgMC0zIDFsLTMwIDI3YTUgNSAwIDAgMCAwIDdsNCA0YTYgNiAwIDAgMCA0IDIgNSA1IDAgMCAwIDMtMWwyNy0zMWMyLTIgMS01LTEtN3ptMzkgMjZsLTMwLTI4LTYgNmE1IDUgMCAwIDEgMCAzbDI2IDI5YTEgMSAwIDAgMCAxIDBsNS0yIDItMmMxLTIgMy01IDItNnptNS00NWEyIDIgMCAwIDAtNCAwbC0xIDEtMi00YzEtMy01LTktNS05LTEzLTE0LTIzLTE0LTI3LTEzLTIgMS0yIDEgMCAyIDE0IDIgMTUgMTAgMTMgMTNhNCA0IDAgMCAwLTEgMyAzIDMgMCAwIDAgMSAxbC0yMSAyMmE3IDcgMCAwIDEgNCAyIDggOCAwIDAgMSAyIDNsMjAtMjFhNyA3IDAgMCAwIDEgMSA0IDQgMCAwIDAgNCAwYzEtMSA2IDMgNyA0aC0xYTMgMyAwIDAgMCAwIDQgMiAyIDAgMCAwIDQgMGw2LTZhMyAzIDAgMCAwIDAtM3oiIGZpbGw9IiMyZTk2ZWYiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg%3D%3D)](https://github.com/WFCD/banner/blob/master/PROJECTS.md)\n[![Discord](https://img.shields.io/discord/256087517353213954.svg?logo=discord)](https://discord.gg/jGZxH9f)\n\nWarframe drop data in an easier to parse format.\n\n**NOTE**: This data is parsed from [Digital Extremes official drop data website](https://warframe-web-assets.nyc3.cdn.digitaloceanspaces.com/uploads/cms/hnfvc0o3jnfvc873njb03enrf56.html), no data mining was involved.\n\n## Web UI \u0026 URL\n\n![screenshot](misc/screenshot.jpg)\n\nThere is an experimental searchable web ui available at http://drops.warframestat.us\n\n## \"API Endpoints\"\n\nYou can access the data via normal HTTP requests, which makes it usable like an API without really being one.\n\n### /data/all.json\n\nAll data from the website in one single file.\n\nData structure:\n```json\n{\n  \"blueprintLocations\": [ { ... } ],\n  \"cetusBountyRewards\": [ { ... } ],\n  \"enemyBlueprintTables\": [ { ... } ],\n  \"enemyModTables\": [ { ... } ],\n  \"keyRewards\": [ { ... } ],\n  \"missionRewards\": { \"Earth\": { ... } },\n  \"modLocations\": [ { ... } ],\n  \"relics\": [ { ... } ],\n  \"sortieRewards\": [ { ... } ],\n  \"transientRewards\": [ { ... } ],\n  \"solarisBountyRewards\" : [ { ... } ],\n  \"zarimanRewards\": [ { ... } ],\n  \"syndicates\": [ { ... }],\n}\n```\n\n### /data/info.json\n\nThe metadata of the current build. Updates when Digital Extremes' website is updated.\n\n#### Legend:\n- **Hash**: An MD5 hash generated from the drop data page.\n- **Timestamp**: The timestamp at which the build was generated by us.\n- **Modified**: The timestamp at which the drop data page was last modified by DE.\n\n#### Data structure:\n```json\n{\n  \"hash\": \"d47a826e5c3a8dc7a37fe6f468f41a57\",\n  \"timestamp\": 1524933993968,\n  \"modified\": 1524690737000\n}\n```\n\n### /data/missionRewards.json\n\nAll mission rewards, like what drops where and in which rotation. [(Source)](https://n8k6e2y6.ssl.hwcdn.net/repos/hnfvc0o3jnfvc873njb03enrf56.html#missionRewards)\n\n#### Data structure:\n```json\n\"missionRewards\": {\n  \"Sedna\": {\n    \"Hydron\": {\n      \"gameMode\": \"Defense\",\n      \"isEvent\": false,\n      \"rewards\": {\n        \"A\": [\n          {\n            \"_id\": \"c0400ac7082c2f3d811e47ca9b7a8ae8\",\n            \"itemName\": \"Vitality\",\n            \"chance\": 11.11,\n            \"rarity\": \"Uncommon\"\n          },\n          { ... }\n        ],\n        \"B\": [ ... ]\n      }\n    },\n    \"Bere\": { ... }\n  },\n  \"Earth\": { ... }\n}\n```\n\n### /data/missionRewards/$PLANET_NAME/$PLACE.json\n\nDrop data for a specific location. Example: ```/data/missionRewards/Eris/Xini.json```.\n\n#### Data structure:\n```json\n\"Hydron\": {\n  \"gameMode\": \"Defense\",\n  \"isEvent\": false,\n  \"rewards\": {\n    \"A\": [\n      {\n        \"_id\": \"c0400ac7082c2f3d811e47ca9b7a8ae8\",\n        \"itemName\": \"Vitality\",\n        \"chance\": 11.11,\n        \"rarity\": \"Uncommon\"\n      },\n      { ... }\n    ],\n    \"B\": [ ... ]\n  }\n}\n```\n\n### /data/relics.json\n\nAll relics, what they contain, rarity etc. [(Source)](https://n8k6e2y6.ssl.hwcdn.net/repos/hnfvc0o3jnfvc873njb03enrf56.html#relicRewards)\n\n#### Data structure:\n```json\n\"relics\": [\n  {\n    \"_id\": \"4e4d817f8c2d887316c6d8add253403e\",\n    \"tier\": \"Axi\",\n    \"relicName\": \"A1\",\n    \"state\": \"Intact\",\n    \"rewards\": [\n      {\n        \"_id\": \"6733cc5298452209aa29dd72027c7df1\",\n        \"itemName\": \"Akstiletto Prime Barrel\",\n        \"chance\": 11,\n        \"rarity\": \"Uncommon\"\n      },\n      { ... }\n    ]\n  },\n  { ... }\n]\n```\n\n### /data/relics/$TIER/$RELIC_NAME.json\n\nData for a specific relic. Example: ```/data/relics/Axi/R1.json```.\n\n#### Data structure:\n```json\n{\n  \"_id\": \"4e4d817f8c2d887316c6d8add253403e\",\n  \"tier\": \"Axi\",\n  \"relicName\": \"A1\",\n  \"state\": \"Intact\",\n  \"rewards\": {\n    \"Intact\": [\n      {\n        \"_id\": \"6733cc5298452209aa29dd72027c7df1\",\n        \"itemName\": \"Akstiletto Prime Barrel\",\n        \"chance\": 11,\n        \"rarity\": \"Uncommon\"\n      },\n      { ... }\n    ],\n    \"Exceptional\": [ ... ]\n  }\n}\n```\n\n### /data/transientRewards.json\n\nRewards not tied to a specific location, like mods dropped by Nightmare Mode missions. [(Source)](https://n8k6e2y6.ssl.hwcdn.net/repos/hnfvc0o3jnfvc873njb03enrf56.html#transientRewards)\n\n#### Data structure:\n```json\n\"transientRewards\": [\n  {\n    \"_id\": \"b3c734177040ffb494609a27d87d4841\",\n    \"objectiveName\": \"Derelict Vault\",\n    \"rewards\": [\n      {\n        \"_id\": \"24a4a903a7846a300d6b04e914e52e1b\",\n        \"itemName\": \"Anemic Agility\",\n        \"chance\": 4.17,\n        \"rarity\": \"Rare\"\n      },\n      { ... }\n    ]\n  },\n  { ... }\n]\n```\n\n### /data/sortieRewards.json\n\nSortie rewards. [(Source)](https://n8k6e2y6.ssl.hwcdn.net/repos/hnfvc0o3jnfvc873njb03enrf56.html#sortieRewards)\n\n#### Data structure:\n```json\n\"sortieRewards\": [\n  {\n    \"_id\": \"b3c734177040ffb494609a27d87d4841\",\n    \"itemName\": \"4000 Endo\",\n    \"chance\": 12.1,\n    \"rarity\": \"Uncommon\"\n  },\n  { ... }\n]\n```\n\n### /data/modLocations.json\n\nMod drops sorted by mod. [(Source)](https://n8k6e2y6.ssl.hwcdn.net/repos/hnfvc0o3jnfvc873njb03enrf56.html#modLocations)\n\n#### Data structure:\n```json\n\"modLocations\": [\n  {\n    \"_id\": \"b3c734177040ffb494609a27d87d4841\",\n    \"modName\": \"Accelerated Deflection\",\n    \"enemies\": [\n      {\n        \"_id\": \"68cfde6d20b38ba62b412b48c440a7a0\",\n        \"enemyName\": \"Arcane Boiler\",\n        \"enemyModDropChance\": 3,\n        \"chance\": 7.37,\n        \"rarity\": \"Rare\"\n      },\n      { ... }\n    ]\n  },\n  { ... }\n]\n```\n\n### /data/enemyModTables.json\n\nMod drops sorted by enemy. [(Source)](https://n8k6e2y6.ssl.hwcdn.net/repos/hnfvc0o3jnfvc873njb03enrf56.html#enemyModTables)\n\n#### Data structure:\n```json\n\"modLocations\": [\n  {\n    \"_id\": \"2757006e018c952e40a6e3cf74048420\",\n    \"enemyName\": \"002-Er\",\n    \"enemyModDropChance\": \"10.00\",\n    \"mods\": [\n      {\n        \"_id\": \"74ab77f66f97e146b6cef713a370e105\",\n        \"modName\": \"Flux Overdrive\",\n        \"chance\": 12.5,\n        \"rarity\": \"Uncommon\"\n      },\n      { ... }\n    ]\n  },\n  { ... }\n]\n```\n\n### /data/enemyBlueprintTables.json\n\nBlueprints and part drops sorted by enemy. [(Source)](https://n8k6e2y6.ssl.hwcdn.net/repos/hnfvc0o3jnfvc873njb03enrf56.html#enemyBlueprintTables)\n\n#### Data structure:\n```json\n\"enemyBlueprintTables\": [\n  {\n    \"_id\": \"6ba71181fe67be210250c59fdf06ecb8\",\n    \"enemyName\": \"Arid Heavy Gunner\",\n    \"enemyItemDropChance\": \"1.00\",\n    \"items\": [\n      {\n        \"_id\": \"9568cc883b465bc94c14e0d206506b2d\",\n        \"itemName\": \"Gorgon Blueprint\",\n        \"chance\": 100,\n        \"rarity\": \"Common\"\n      },\n      { ... }\n    ]\n  },\n  { ... }\n]\n```\n\n### /data/blueprintLocations.json\n\nBlueprints and part drops sorted by item. [(Source)](https://n8k6e2y6.ssl.hwcdn.net/repos/hnfvc0o3jnfvc873njb03enrf56.html#blueprintLocations)\n\n#### Data structure:\n```json\n\"blueprintLocations\": [\n  {\n    \"_id\": \"2d200b684ad2bac2184a5edc3a9655cb\",\n    \"itemName\": \"Ash Chassis Blueprint\",\n    \"enemies\": [\n      {\n        \"_id\": \"02ca12683663224f017f209954cb876a\",\n        \"enemyName\": \"Grineer Manic\",\n        \"enemyItemDropChance\": 33,\n        \"chance\": 38.72,\n        \"rarity\": \"Common\"\n      },\n      { ... }\n    ]\n  },\n  { ... }\n]\n```\n\n### /data/cetusBountyRewards.json\n\nDrop data for Cetus bounty missions. [(Source)](https://n8k6e2y6.ssl.hwcdn.net/repos/hnfvc0o3jnfvc873njb03enrf56.html#cetusRewards)\n\n#### Data structure:\n```json\n\"cetusBountyRewards\": [\n  {\n    \"_id\": \"0b9c958b277561c57f47390f5db201ef\",\n    \"bountyLevel\": \"Level 10 - 30 Bounty\",\n    \"rewards\": {\n      \"A\": [\n        {\n          \"_id\": \"2d220168d8505314316354e586fe4c7e\",\n          \"stage\": \"Stage 1\",\n          \"itemName\": \"100 Endo\",\n          \"chance\": 25,\n          \"rarity\": \"Uncommon\"\n        },\n        { ... }\n      ],\n      \"B\": [ ... ]\n    }\n  },\n  { ... }\n]\n```\n\n### /data/zarimanRewards.json\n\nDrop data for Zariman bounty missions. [(Source)](https://n8k6e2y6.ssl.hwcdn.net/repos/hnfvc0o3jnfvc873njb03enrf56.html#zarimanRewards)\n\n#### Data structure:\n```json\n\"zarimanRewards\": [\n  {\n    \"_id\": \"255771097c27769a3a76bfa38c9fba49\",\n    \"bountyLevel\": \"Level 50 - 55 Zariman Bounty\",\n      \"rewards\": {\n        { ... }\n        \"C\": [\n          {\n            \"_id\": \"d5ccc328b76d91df416cc361d2209c1f\",\n            \"itemName\": \"15,000 Credits\",\n            \"rarity\": \"Uncommon\",\n            \"chance\": 17.39,\n            \"stage\": \"Final stage\"\n          },\n        { ... }\n      ],\n    }\n  },\n  { ... }\n]\n```\n\n### /data/syndicates.json\n\nDrop data for syndicate vendors. Generated by data from the [Warframe Wikia](https://warframe.fandom.com/wiki/Syndicate).\n\n#### Data structure:\n```json\n{\n  \"syndicates\": {\n    \"Steel Meridian\": [\n      {\n        \"_id\": \"d765637f1f1ae09add1b5265f5d29ea1\",\n        \"item\": \"Steel Meridian Sigil\",\n        \"chance\": 100,\n        \"rarity\": \"Common\",\n        \"place\": \"Steel Meridian, Brave\",\n        \"standing\": 1000\n      },\n      { ... }\n    ],\n    { ... }\n  },\n}\n```\n\n### /data/miscItems.json\n\nMiscellanous enemy item drops. [(Source)](https://n8k6e2y6.ssl.hwcdn.net/repos/hnfvc0o3jnfvc873njb03enrf56.html#miscItems)\n\n#### Data structure:\n```json\n\"miscItems\": [\n  {\n    \"_id\": \"abce816f002a752c88308d5f6658427c\",\n    \"enemyName\": \"Akkalak Turret\",\n    \"enemyItemDropChance\": \"70.00\",\n    \"items\": [\n      {\n        \"_id\": \"a3ab4147ff1f344ae81bc8fd301a4ba5\",\n        \"itemName\": \"Circuits\",\n        \"chance\": 68.02,\n        \"rarity\": \"Common\"\n      },\n      { ... }\n    ]\n  },\n  { ... }\n]\n```\n\n### /data/builds/builds.json\n\nA list of available builds and their timestamps.\n\n#### Data structure:\n```json\n[\n  {\n    \"hash\": \"d47a826e5c3a8dc7a37fe6f468f41a57\",\n    \"timestamp\": 1524933993968,\n    \"modified\": 1524690737000\n  },\n  { ... }\n]\n```\n\n### /data/builds/`{hash}`.json\n\nThe `all.json` file of the given hash. Other files, such as `missionRewards.json` are not available for previous builds.\n\n#### Data structure:\n```json\n{\n  \"blueprintLocations\": [ { ... } ],\n  \"cetusBountyRewards\": [ { ... } ],\n  \"enemyBlueprintTables\": [ { ... } ],\n  \"enemyModTables\": [ { ... } ],\n  \"keyRewards\": [ { ... } ],\n  \"miscItems\": [ { ... } ],\n  \"missionRewards\": { \"Earth\": { ... } },\n  \"modLocations\": [ { ... } ],\n  \"relics\": [ { ... } ],\n  \"sortieRewards\": [ { ... } ],\n  \"transientRewards\": [ { ... } ]\n}\n```\n\n## For Developers\n\n### Dependencies\n- [Node.js \u003e= 14](https://nodejs.org/en/)\n\n### Usage\nYou can run the build script with `npm run build`.\n\nOnce built, serve the Web UI with `npm run serve:dev`.\n\n### Syndicate drop data\nSyndicate drop data is scraped from the wiki and not from the drops site as the rest of the data.\n\nThe syndicate data needs to be scraped from different pages, one for each syndicate which could also contain\nmultiple sections containing the drop data.\nTo make this possible a declarative configuration has been created within `lib/syndicates.js` where you can define all of this in the following format:\n\n```javascript\n/**\n * @typedef {Object} SyndicateMapperResult\n * @property {_id} _id Unique hash of the item\n * @property {string} item The name of the item\n * @property {number} chance The dropchance of the item\n * @property {string} rarity The rarity of the item\n * @property {string} place The location where the item drops\n */\n/**\n * @typedef {function} SyndicateMapper\n * @param {module:cheerio/CheerioAPI} $ cheerio interface\n * @param {string} element Current element\n * @param {string} syndicate Name of the Syndicate\n * @param {string} [section] Section title - potentially empty\n * @returns {SyndicateMapperResult}\n */\n/**\n * @typedef {Object} SyndicateSection\n * @property {string} [title] Indicates the name of the specific vendor\n * @property {string} selector jQuery selector used to find the elements you want to map\n * @property {SyndicateMapper} [mapper] Used to map these elements. If not provided, a default mapped is used \n */\n/**\n * @typedef {Object} SyndicateConfig\n * @property {string} name Name of the Syndicate (should match the wiki)\n * @property {string} url The wiki url of the syndicate\n * @property {SyndicateSection[]} sections These will be parsed and mapped into json data\n */\n\n/** @type {Array\u003cSyndicateConfig\u003e} */\nconst SYNDICATES = [\n  {\n    name: 'Steel Meridian',\n    url: 'https://warframe.fandom.com/wiki/Steel_Meridian',\n    sections: [\n      { selector: '#mw-customcollapsible-SteelMeridian \u003e div \u003e div' },\n    ],\n  },\n  {\n    name: 'Entrati',\n    url: 'https://warframe.fandom.com/wiki/Entrati',\n    sections: [\n      { title: 'Father', selector: '#mw-customcollapsible-Father \u003e div \u003e div' },\n      { title: 'Daughter', selector: '#mw-customcollapsible-Daughter \u003e div \u003e div' },\n      { title: 'Son', selector: '#mw-customcollapsible-Son \u003e div \u003e div' },\n      { title: 'Otak', selector: '.flex-container:eq(3) \u003e div' },\n      { title: 'Grandmother', selector: '#mw-customcollapsible-Grandmother #gallery-1 \u003e div', mapper: galleryMapper },\n    ],\n  },\n  { ... }\n];\n```\n\n#### Mappers\nA mapper is a function that maps a singular element (found by the `selector`) to a json object.\nThe mapper receives the following arguments: the `cheerio` object, the current element, name of the syndicate, section title (can be empty).\nThe return type should at least contain the following information:\n\n```javascript\n/**\n * @typedef {Object} SyndicateMapperResult\n * @property {_id} _id Unique hash of the item\n * @property {string} item The name of the item\n * @property {number} chance The dropchance of the item\n * @property {string} rarity The rarity of the item\n * @property {string} place The location where the item drops\n */\n```\n\nAny additional properties will be added into the final result but won't show up in the slim json file.\n\n## Disclaimer\n\nThis list represents data and drops from the PC version of the Free-to-play game Warframe.\nThat's right - Warframe is free! Which means our drop system is designed to maintain a balance. Our free players can earn the game's content, and our paying players who support us (and keep the game running) usually get first dibs on the content by using Platinum (which can be traded to free players)!\nAs far as we can tell... we are the first developers to openly post something quite like this. Let's hope it works out for us and we set a trend.\n\nThis is automatically generated from our internal data but this data comes with no guarantees -- do not expect it to be comprehensive for how complex the game is.\nThis list will be maintained by an automated process which will be published with Updates (not all Hotfixes). We update often and new game systems may or may not be covered here.\nThis list can be discussed here. Know a free-to-play game that provides official drop rates in a different way? We'd love to know.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwfcd%2Fwarframe-drop-data","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwfcd%2Fwarframe-drop-data","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwfcd%2Fwarframe-drop-data/lists"}