gw2api
is a WIP wrapper over the official Guild Wars 2 API written in Rust using
ureq as the underlying request maker.
use gw2api::client::Client;
use gw2api::v1::build::Build;
let client = Client::new();
let build = Build::get_build(&client).unwrap();
println!("Current build id: {}", build.id());
- Endpoints
- V2
- Account
- Bank (Auth)
- Dyes (Auth)
- Materials (Auth)
- Skins (Auth)
- Characters (Auth)
- Shared Inventory (Auth)
- Achievements
- Achievements
- Achievements Daily
- Achievement Groups
- Achievement Categories
- Commerce
- Listings
- Echange
- Prices
- Transactions (Auth)
- Guilds
- Guild Upgrades
- Guild Permissions
- Guild Members (Auth Guild Leader)
- Guild Ranks (Auth Guild Leader)
- Guild Stash (Auth Guild Leader)
- Guild Treasury (Auth Guild Leader)
- Log (Auth Guild Leader)
- Emblems
- Teams
- PvP
- Amulets
- Heroes
- Stats (Auth)
- Games (Auth)
- Ranks (Auth)
- Standings (Auth)
- Seasons
- Items
- Recipes
- Search
- Items
- Skins
- Recipes
- World vs World
- Matches
- Objectives
- Game Mechanics
- Traits
- Specializations
- Map Information
- Continents
- Maps
- Misc
- Build
- Colors
- Currencies
- Quaggans
- Worlds
- Minis
- Tokeninfo
- Account
- V1
- Build
- Colors
- Continents
- Event details
- Event names (DISABLED)
- Events (DISABLED) - won't fix
- Files
- Guild details
- Item details
- Items
- Map floor
- Map names
- Maps
- Recipe details
- Recipes
- Skin details
- Skins
- World names
- WvW (returns 404/503 errors if requested, directly request the sub-endpoints below)
- Match details
- Matches
- Objective names
- V2
Q: Y u do dis?!
A: There simply didn't exist a fully functional API wrapper for the API, which I needed. It's also a good learning experience in how to write wrappers, planning out project structure and implementing tests. All in all; yay, I spent way too much time on this. (╥_╥)
- tyria-rs - where I stole some of the project structure from. I would have used this instead if it were complete.