tustin / fortnite-php
PHP wrapper for the official Fortnite API.
Installs: 1 492
Dependents: 0
Suggesters: 0
Security: 0
Stars: 61
Watchers: 9
Forks: 28
Open Issues: 28
Requires
- php: ^7.0
- guzzlehttp/guzzle: ^6.3
README
Interact with the official Fortnite API using PHP.
Installation
Pull in the project using composer:
composer require Tustin/fortnite-php
Usage
Create a basic test script to ensure everything was installed properly
<?php require_once 'vendor/autoload.php'; use Fortnite\Auth; use Fortnite\Account; use Fortnite\Mode; use Fortnite\Language; use Fortnite\Platform; // Authenticate $auth = Auth::login('epic_email@domain.com','password'); // Output each stat for all applicable platforms var_dump($auth->profile->stats); // Grab someone's stats $sandy = $auth->profile->stats->lookup('sandalzrevenge'); echo 'Sandy Ravage has won ' . $sandy->pc->solo->wins . ' solo games and ' . $sandy->pc->squad->wins . ' squad games!';
Get Leaderboards
$auth = Auth::login('epic_email@domain.com','password'); var_dump($auth->leaderboard->get(Platform::PC, Mode::DUO));
Get News
$auth = Auth::login('epic_email@domain.com','password'); var_dump($auth->news->get(News::BATTLEROYALE, Language::ENGLISH));
Get Store
$auth = Auth::login('epic_email@domain.com','password'); var_dump($auth->store->get(Language::ENGLISH));
Get Challenges
$auth = Auth::login('epic_email@domain.com','password'); // All weekly challenges var_dump($auth->profile->challenges->getWeeklys()); // Or just get a specific week (in this example, week 1) var_dump($auth->profile->challenges->getWeekly(1));
Constants
Platform [ PC, PS4, XB1 ]
Mode [ SOLO, DUO, SQUAD ]
Language [ ENGLISH, GERMAN, SPANISH, CHINESE, FRENCH, ITALIAN, JAPANESE ]
News [ BATTLEROYALE, SAVETHEWORLD ]
Contributing
Fortnite now utilizes SSL certificate pinning in their Windows client in newer versions. I suggest using the iOS mobile app to do any future API reversing as both cheat protections on the Windows client make it difficult to remove the certificate pinning. If SSL certificate pinning is added to the iOS version, I could easily provide a patch to remove that as the iOS version doesn't contain any anti-cheat.