Hello, this project entails me making a web scrapper for the website MTG Top 8. The website entails a list of the current meta decks used in the different game modes in the popular trading card game, Magic the Gathering (Note that I am going to call these game modes formats from here on out). The data being scrapped is a list of meta decks in the formats of Standard, Modern, Vintage, Legacy, Canadian Highlander, Alchemy, Block, Duel Commander, Explorer, Extended, Highlander, Historic, Pauper, Peasant, and Pioneer. (cEDH web scrapper doesn't work currently without the need of a database to store the information. Look at the github for a guideline on how to create your own version)
npm install mtg_meta_decks
This library is separated by each of the formats, so if a user wants to access a specific format such as this:
const deck = require('mtg_meta_decks');
async function start(){
let check = await deck.historic.historic();
console.log(check);
}
start();
Simply replace historic for the format that you want and historic() for the function that you want to use in the historic file.
Each format in the website mtgtop8.com has different versions that a user can access. That is why most of the files in this library have 2 functions to access the data in a given format, one for a default version if you don't care, and one where you can specify which version that you want. Some formats have versions that simply didn't have enough information that I couldn't add it to the list. If this changes please send a github issue or a pull request so that I can fix it. Below you will see a list of all of the formats with links to there functions and the list of versions that are available. I will in the future add links to each version for the user to be able to see it in the original website.
- Alchemy
- Block
- Canadian Highlander
- Duel Commander
- Explorer
- Extended
- Highlander
- Historic
- Legacy
- Modern
- Pauper
- Peasant
- Pioneer
- Standard
- Vintage
Functions available:
{Default} alchemy()
Format Versions:
{Default} All Alchemy Decks: (https://www.mtgtop8.com/format?f=ALCH)
Functions available:
{Default} block()
{Format Version} blockFormat(format)
Format Versions:
{Default Version} khanBlock: (https://www.mtgtop8.com/format?f=BL)
otherBlockEvents: (https://www.mtgtop8.com/format?f=BL&meta=229&a=)
therosBlock: (https://www.mtgtop8.com/format?f=BL&meta=68&a=)
returnToRavnicaBlock: (https://www.mtgtop8.com/format?f=BL&meta=60&a=)
innistradBlock: (https://www.mtgtop8.com/format?f=BL&meta=17&a=)
scarsBlock: (https://www.mtgtop8.com/format?f=BL&meta=18&a=)
allPT: (https://www.mtgtop8.com/format?f=BL&meta=93&a=)
Functions available:
{Default} canadianHighlander()
Format Versions:
{Default} All Canadian Highlander Decks: (https://www.mtgtop8.com/format?f=CHL)
Functions available:
{Default} duelCommander()
duelCommanderFormat(format)
Format Versions:
{Default} last3Months: (https://www.mtgtop8.com/format?f=EDH)
lastMonths: (https://www.mtgtop8.com/format?f=EDH&meta=115&a=)
lastMajorEvents: (https://www.mtgtop8.com/format?f=EDH&meta=130&a=)
last12Months: (https://www.mtgtop8.com/format?f=EDH&meta=209&a=)
all2023Decks: (https://www.mtgtop8.com/format?f=EDH&meta=252&a=)
all2022Decks: (https://www.mtgtop8.com/format?f=EDH&meta=233&a=)
all2021Decks: (https://www.mtgtop8.com/format?f=EDH&meta=216&a=)
all2020Decks: (https://www.mtgtop8.com/format?f=EDH&meta=198&a=)
all2019Decks: (https://www.mtgtop8.com/format?f=EDH&meta=181&a=)
all2018Decks: (https://www.mtgtop8.com/format?f=EDH&meta=166&a=)
all2017Decks: (https://www.mtgtop8.com/format?f=EDH&meta=146&a=)
all2016Decks: (https://www.mtgtop8.com/format?f=EDH&meta=122&a=)
all2015Decks: (https://www.mtgtop8.com/format?f=EDH&meta=99&a=)
all2014Decks: (https://www.mtgtop8.com/format?f=EDH&meta=129&a=)
majorEvents: (https://www.mtgtop8.com/format?f=EDH&meta=196&a=)
allCommanderDecks: https://www.mtgtop8.com/format?f=EDH&meta=56&a=)
Functions available:
last4Months()
allExplorerDecks()
Format Versions:
last4Months: (https://www.mtgtop8.com/format?f=EXP)
allExplorerDecks: (https://www.mtgtop8.com/format?f=EXP&meta=243&a=)
Functions available:
{Default} extended()
extendedFormat(format)
Format Versions:
{Default} allDecks: (https://www.mtgtop8.com/format?f=EX)
lorwyn: (https://www.mtgtop8.com/format?f=EX&meta=20&a=)
timeSpiral: (https://www.mtgtop8.com/format?f=EX&meta=112&a=)
mirrodin: (https://www.mtgtop8.com/format?f=EX&meta=111&a=)
onSlaught: (https://www.mtgtop8.com/format?f=EX&meta=21&a=)
invasion: (https://www.mtgtop8.com/format?f=EX&meta=23&a=)
tempest: (https://www.mtgtop8.com/format?f=EX&meta=7&a=)
iceAge: (https://www.mtgtop8.com/format?f=EX&meta=41&a=)
allPT: (https://www.mtgtop8.com/format?f=EX&meta=94&a=)
Functions available:
{Default} highlander()
highlanderFormat(format)
Format Versions:
{Default} last24Months: (https://www.mtgtop8.com/format?f=HIGH)
allDecks2014to2017: (https://www.mtgtop8.com/format?f=HIGH&meta=90&a=)
allDecks2005to2013: (https://www.mtgtop8.com/format?f=HIGH&meta=89&a=)
allHighlanderDecks: (https://www.mtgtop8.com/format?f=HIGH&meta=88&a=)
allGP: (https://www.mtgtop8.com/format?f=HIGH&meta=116&a=)
Functions available:
{Default} historic()
historicFormat(format)
Format Versions:
{Default} last2Months:(https://www.mtgtop8.com/format?f=HI)
all2023Decks:(https://www.mtgtop8.com/archetype?f=HI&meta=248&a=971)
all2022Decks:(https://www.mtgtop8.com/archetype?f=HI&meta=234&a=971)
all2021Decks:(https://www.mtgtop8.com/archetype?f=HI&meta=218&a=971)
allHistoricDecks:(https://www.mtgtop8.com/archetype?f=HI&meta=215&a=971)
Functions available:
{Default} legacy()
legacyFormat(format)
Format Versions:
{Default} last2Months: (https://www.mtgtop8.com/format?f=LE)
majorEvents4months: (https://www.mtgtop8.com/format?f=LE&meta=188&a=)
liveTournaments: (https://www.mtgtop8.com/format?f=LE&meta=72&a=)
all2023Decks: (https://www.mtgtop8.com/format?f=LE&meta=245&a=)
all2022Decks: (https://www.mtgtop8.com/format?f=LE&meta=237&a=)
all2021Decks: (https://www.mtgtop8.com/format?f=LE&meta=219&a=)
all2020Decks: (https://www.mtgtop8.com/format?f=LE&meta=199&a=)
all2019Decks: (https://www.mtgtop8.com/format?f=LE&meta=182&a=)
all2018Decks: (https://www.mtgtop8.com/format?f=LE&meta=164&a=)
all2017Decks: (https://www.mtgtop8.com/format?f=LE&meta=143&a=)
all2016Decks: (https://www.mtgtop8.com/format?f=LE&meta=117&a=)
all2015Decks: (https://www.mtgtop8.com/format?f=LE&meta=100&a=)
all2014Decks: (https://www.mtgtop8.com/format?f=LE&meta=81&a=)
all2013Decks: (https://www.mtgtop8.com/format?f=LE&meta=80&a=)
all2012Decks: (https://www.mtgtop8.com/format?f=LE&meta=6&a=)
all2011Decks: (https://www.mtgtop8.com/format?f=LE&meta=61&a=)
majorEventsDecks: (https://www.mtgtop8.com/format?f=LE&meta=27&a=)
allDecks: (https://www.mtgtop8.com/format?f=LE&meta=16&a=)
Functions available:
{Default} modern()
modernFormat(format)
Format Versions:
{Default} last2Months: (https://www.mtgtop8.com/format?f=MO)
last2Weeks: (https://www.mtgtop8.com/format?f=MO&meta=54&a=)
lastMajorEvents: (https://www.mtgtop8.com/format?f=MO&meta=57&a=)
liveTournaments: (https://www.mtgtop8.com/format?f=MO&meta=57&a=)
all2023Decks: (https://www.mtgtop8.com/format?f=MO&meta=246&a=)
all2022Decks: (https://www.mtgtop8.com/format?f=MO&meta=236&a=)
all2021Decks: (https://www.mtgtop8.com/format?f=MO&meta=220&a=)
all2020Decks: (https://www.mtgtop8.com/format?f=MO&meta=200&a=)
all2019Decks: (https://www.mtgtop8.com/format?f=MO&meta=183&a=)
all2018Decks: (https://www.mtgtop8.com/format?f=MO&meta=163&a=)
all2017Decks: (https://www.mtgtop8.com/format?f=MO&meta=142&a=)
all2016Decks: (https://www.mtgtop8.com/format?f=MO&meta=118&a=)
all2015Decks: (https://www.mtgtop8.com/format?f=MO&meta=101&a=)
all2014Decks: (https://www.mtgtop8.com/archetype?f=MO&meta=79&a=189)
all2013Decks: (https://www.mtgtop8.com/archetype?f=MO&meta=77&a=189)
all2012Decks: (https://www.mtgtop8.com/archetype?f=MO&meta=76&a=189)
all2011Decks: (https://www.mtgtop8.com/format?f=MO&meta=78&a=)
allModernDecks: (https://www.mtgtop8.com/format?f=MO&meta=44&a=)
allPt: (https://www.mtgtop8.com/format?f=MO&meta=92&a=)
Functions available:
{Default} pauper()
pauperFormat(format)
Format Versions:
{Default} last2Months: (https://www.mtgtop8.com/format?f=PAU)
last4Months: (https://www.mtgtop8.com/format?f=PAU&meta=127&a=)
liveTournaments: (https://www.mtgtop8.com/format?f=PAU&meta=185&a=)
all2023Decks: (https://www.mtgtop8.com/format?f=PAU&meta=251&a=)
all2022Decks: (https://www.mtgtop8.com/format?f=PAU&meta=239&a=)
all2021Decks: (https://www.mtgtop8.com/format?f=PAU&meta=224&a=)
all2020Decks: (https://www.mtgtop8.com/format?f=PAU&meta=223&a=)
all2019Decks: (https://www.mtgtop8.com/format?f=PAU&meta=186&a=)
all2018Decks: (https://www.mtgtop8.com/format?f=PAU&meta=170&a=)
all2017Decks: (https://www.mtgtop8.com/format?f=PAU&meta=169&a=)
all2016Decks: (https://www.mtgtop8.com/format?f=PAU&meta=168&a=)
allPauperDecks: (https://www.mtgtop8.com/format?f=PAU&meta=110&a=)
Functions available:
{Default} peasant()
peasantFormat(format)
Format Versions:
{Default} allPeasantDecks: (https://www.mtgtop8.com/format?f=PEA&meta=205&a=)
banlistE7: (https://www.mtgtop8.com/format?f=PEA&meta=225&a=)
banlistE6toE5: (https://www.mtgtop8.com/format?f=PEA&meta=207&a=)
banlistE4: (https://www.mtgtop8.com/format?f=PEA&meta=179&a=)
banlistE3: (https://www.mtgtop8.com/format?f=PEA&meta=124&a=)
banlistE2: (https://www.mtgtop8.com/format?f=PEA&meta=151&a=)
banlistE1: (https://www.mtgtop8.com/format?f=PEA&meta=150&a=)
Functions available:
{Default} pioneer()
pioneerFormat(format)
Format Versions:
{Default} last2Months: (https://www.mtgtop8.com/format?f=PI)
last2Weeks: (https://www.mtgtop8.com/format?f=PI&meta=194&a=)
all2023Decks: (https://www.mtgtop8.com/format?f=PI&meta=247&a=)
all2022Decks: (https://www.mtgtop8.com/format?f=PI&meta=235&a=)
all2021Decks: (https://www.mtgtop8.com/format?f=PI&meta=222&a=)
all2020Decks: (https://www.mtgtop8.com/format?f=PI&meta=202&a=)
all2019Decks: (https://www.mtgtop8.com/format?f=PI&meta=201&a=)
allPioneer: (https://www.mtgtop8.com/format?f=PI&meta=191&a=)
Functions available:
{Default} standard()
standardFormat(format)
Format Versions:
{Default} standardLast2Months: (https://www.mtgtop8.com/format?f=ST)
standardLast2Weeks: (https://www.mtgtop8.com/format?f=ST&meta=50&a=)
standardLargeEventsLast2Months: (https://www.mtgtop8.com/format?f=ST&meta=46&a=)
standardPlayersTourOnline: (https://www.mtgtop8.com/format?f=ST&meta=210&a=)
standardAll2023Decks: (https://www.mtgtop8.com/format?f=ST&meta=250&a=)
standardAll2022Decks: (https://www.mtgtop8.com/format?f=ST&meta=249&a=)
standard2020to2021: (https://www.mtgtop8.com/format?f=ST&meta=217&a=)
standard2018To2019: (https://www.mtgtop8.com/format?f=ST&meta=175&a=)
standard2019To2020: (https://www.mtgtop8.com/format?f=ST&meta=187&a=)
standard2017To2018:(https://www.mtgtop8.com/format?f=ST&meta=161&a=)
standard2016To2017: (https://www.mtgtop8.com/format?f=ST&meta=128&a=)
standard2015To2016: (https://www.mtgtop8.com/format?f=ST&meta=133&a=)
standard2014To2015: (https://www.mtgtop8.com/archetype?f=ST&meta=114&a=12)
standard2013To2014: (https://www.mtgtop8.com/archetype?f=ST&meta=86&a=12)
standard2012To2013: (https://www.mtgtop8.com/archetype?f=ST&meta=75&a=12)
standard2011To2012: (https://www.mtgtop8.com/archetype?f=ST&meta=74&a=12)
standard2010To2011: (https://www.mtgtop8.com/archetype?f=ST&meta=45&a=12)
allStandard: (https://www.mtgtop8.com/archetype?f=ST&meta=58&a=12)
allWorlds: (https://www.mtgtop8.com/archetype?f=ST&meta=97&a=12)
allProTour: (https://www.mtgtop8.com/archetype?f=ST&meta=91&a=12)
allGrandPrix: (https://www.mtgtop8.com/archetype?f=ST&meta=96&a=12)
Functions available:
{Default} vintage()
vintageFormat(format)
Format Versions:
{Default} last4Months: (https://www.mtgtop8.com/format?f=VI)
last2Months: (https://www.mtgtop8.com/format?f=VI&meta=82&a=)
liveTournaments: (https://www.mtgtop8.com/format?f=VI&meta=83&a=)
all2023Decks: (https://www.mtgtop8.com/format?f=VI&meta=244&a=)
all2022Decks: (https://www.mtgtop8.com/format?f=VI&meta=238&a=)
all2021to2020Decks: (https://www.mtgtop8.com/format?f=VI&meta=221&a=)
all2019to2018Decks: (https://www.mtgtop8.com/format?f=VI&meta=167&a=)
all2017to2015Decks: (https://www.mtgtop8.com/format?f=VI&meta=148&a=)
all2014to2011Decks: (https://www.mtgtop8.com/format?f=VI&meta=15&a=)
allMajorEvents: (https://www.mtgtop8.com/format?f=VI&meta=40&a=)
allDecks: (https://www.mtgtop8.com/format?f=VI&meta=14&a=)
Github project link: https://github.com/Vince-maple-byte/MTG-API
Npm package: https://www.npmjs.com/package/mtg_meta_decks?activeTab=readme