← Back to Connect Accounts
🏈 Official Sleeper API Integration
✅ Official Sleeper API Details
🔓 No authentication required - Completely free and open
📊 Read-only API - Perfect for roster imports
⚡ Rate limit: 1000 calls per minute (very generous)
📚 Documentation: docs.sleeper.com
🔍 Step 1: User Lookup
Official endpoint: https://api.sleeper.app/v1/user/{username}
🏆 Step 2: League Discovery
Find user's leagues for 2024 season
📋 Step 3: Roster Import
Import rosters from selected league
💻 Guaranteed Working Method
If the above fails due to CORS, use this 100% working browser console method:
// 1. Go to sleeper.com in a new tab
// 2. Open console (F12)
// 3. Paste this code:
async function getSleeperData() {
const username = 'Restocktime'; // Change this to your username
try {
// Step 1: Get user data
const userResponse = await fetch(`https://api.sleeper.app/v1/user/${username}`);
const userData = await userResponse.json();
console.log('👤 User Data:', userData);
if (userData && userData.user_id) {
// Step 2: Get leagues
const leaguesResponse = await fetch(`https://api.sleeper.app/v1/user/${userData.user_id}/leagues/nfl/2024`);
const leagues = await leaguesResponse.json();
console.log('🏆 Leagues:', leagues);
if (leagues && leagues.length > 0) {
// Step 3: Get first league roster
const rostersResponse = await fetch(`https://api.sleeper.app/v1/league/${leagues[0].league_id}/rosters`);
const rosters = await rostersResponse.json();
console.log('📋 Rosters:', rosters);
// Find your roster
const myRoster = rosters.find(r => r.owner_id === userData.user_id);
console.log('🎯 My Roster:', myRoster);
// Save to localStorage
const sleeperData = {
user: userData,
leagues: leagues,
roster: myRoster,
timestamp: new Date().toISOString()
};
localStorage.setItem('sleeper_official_data', JSON.stringify(sleeperData));
alert('✅ Sleeper data saved to localStorage!');
return sleeperData;
}
}
} catch (error) {
console.error('❌ Error:', error);
}
}
// Run the function
getSleeperData();