This is the repository for ApexData.gg. Anyone is feel to contribute by forking this project.
This Documentation can also be found on ApexData.gg/api
We provide an API with most of the Data you will find on ApexData.gg. This API is free of charge and has unlimited calls. We do ask for a respectful use of our API, excessive spam requests will be blocked.
To acquire an API key please login or create an account on ApexData.gg. You will find your API key on your account page. This key is associated with your account and is required for all of your requests. To get multiple API keys you will need to create multiple accounts.
Calls are constructed as follows:
https://www.apexdata.gg/api/[your_api_key]/[type]/[optional_values].json
To retrieve all weapon data you would call:
https://www.apexdata.gg/api/[your_api_key]/weapons.json
You can also retrieve weapons by their category:
https://www.apexdata.gg/api/[your_api_key]/weapons/[category].json
Categories include: assault-rifles
, pistols
, shotguns
, sniper-rifles
, light-machine-guns
, sub-machine-guns
.
Weapons can optionally be sorted by whichever numerical value you want. You would retrieve this as:
https://www.apexdata.gg/api/[your_api_key]/weapons/sort/[weapon_category]/[data_type].json
For example: .../weapons/sort/pistols/damage-per-second.json
. The values are separated with dashes -
, even though the values might have underscores _
. all
Can be used to sort by all categories.
You can also retrieve weapons by any of it's values.
https://www.apexdata.gg/api/[your_api_key]/weapons/[data_type]/[_value].json
For example: .../weapons/ammo-type/light.json
will return all weapons that use "Light" ammo.
This can also be used to get a specific weapon by it's name. /weapons/name/eva-8-auto.json
. All names are downcase, and spaces are replaced with a dash -
.
To retrieve all legends data you would call:
https://www.apexdata.gg/api/[your_api_key]/legends.json
Similar to weapons, you can also find legends by their name using /legends/name/bangalore.json
. All names are downcase, and spaces are replaced with a dash -
.
Items come in several categories; equipment
, consumables
, grenades
, attachments
.
To retrieve items you would call:
https://www.apexdata.gg/api/[your_api_key]/[category].json
For example: .../grenades.json
will retrieve all Grenades.
Similar to weapons and legends, you can also find items by their name using /[category]/name/1x-holo.json
. All names are downcase, and spaces are replaced with a dash -
.
We do not supply Player or Account data. Check out https://github.com/HugoDerave/ApexLegendsAPI if you are looking for Player data.
For any problems you encounter, requests, or questions, please create an issue and we will see what we can do!
This is a basic Rails (5.2) project without anything added that needs additional steps to get started. There is no database and as a result no rake tasks are required to be ran.
The project can be installed simply with:
bundle install
Followed by running it with:
rails s
This will start a localhost at localhost:3000
, just like any other Rails project.
We do not use a database for anything. All content can be found in config/content
. Everything is categorised in different .yml
files. These files are loaded in at app/helpers/content_helper.rb
.
View can be found in app/views
. We are using High Voltage to run static pages. We use this for most of our pages. These pages are located in app/views/pages
. Most of the content logic is handled in these files.
Some more complex pages have their own controllers. An example is the where_controller.rb
in app/controllers
. This is a super simple filter system that takes 2 parameters /where/[key]/[value]
such as /where/ammo-type/heavy
. The views can be found app/views/where
.
Images are found in app/assets/images
. Images are categorised by what they are intended to be used for. All images are ran through TinyPNG to make sure they are properly compressed.
SCSS can be found in app/assets/stylesheets
and app/assets/javascripts
respectively.
All SCSS is written according to BEM. Simply said: .parent__child--modifier
. Each file is named and categorised according to the parent
classed. The CSS properties should be roughly categorised by Box -> Position -> Style -> Font -> Expensive modifier (box-shadow, transform, etc.)
.
All JS is written in ES6, with no regards to older browsers. We do not use Babel or anything similar to convert our ES6 back to ES5. No frameworks are used, we write in plain JS. No plugins should be used, with exceptions.