{"openapi":"3.1.0","info":{"title":"TETR.IO API","version":"1.0.0","description":"Live player, ranking and record data from TETR.IO, the massively-popular competitive online Tetris game, via its public API. TETR.IO is a multiplayer ranked game with millions of players. Get a player's profile together with their TETRA LEAGUE standing — their level (XP), games played and won, country and supporter status, plus their league rank letter, their TR rating, their global standing and the competitive stats that define a Tetris player: attack per minute, pieces per second and versus score. Pull a player's personal bests in the two solo modes, the 40-Lines sprint time and the Blitz score, each with its global rank. Get the top of the TETRA LEAGUE — the best ranked players in the world. Read TETR.IO's live global numbers — total accounts, ranked players, records set and games played. Live, no key, nothing stored. Distinct from other gaming and social-profile APIs — this is the TETR.IO TETRA LEAGUE and its players. Perfect for leaderboard, esports, gaming-community and stats apps.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/tetrio-api","description":"oanor gateway"}],"tags":[{"name":"Players"},{"name":"Rankings"},{"name":"Stats"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/records":{"get":{"operationId":"get_v1_records","tags":["Players"],"summary":"40L sprint + Blitz personal bests","description":"","parameters":[{"name":"user","in":"query","required":true,"description":"TETR.IO username","schema":{"type":"string"},"example":"caboozled_pie"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"blitz":{"score":1388599,"set_at":"2022-05-03T21:32:23.212Z","global_rank":28},"source":"TETR.IO","username":"caboozled_pie","sprint_40l":{"set_at":"2024-10-25T05:57:38.549Z","global_rank":19,"time_seconds":15.403}},"meta":{"timestamp":"2026-06-10T14:02:23.533Z","request_id":"9b83db91-e0b6-4076-9120-64179cd6fde2"},"status":"ok","message":"Records retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/user":{"get":{"operationId":"get_v1_user","tags":["Players"],"summary":"Player profile + TETRA LEAGUE standing","description":"","parameters":[{"name":"user","in":"query","required":true,"description":"TETR.IO username","schema":{"type":"string"},"example":"caboozled_pie"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"xp":49012827,"role":"user","league":{"tr":24727.19,"vs":437.19,"apm":223.82,"pps":3.91,"rank":"x+","glicko":4236.2,"games_won":400,"games_played":461,"global_standing":3},"source":"TETR.IO","country":"US","username":"caboozled_pie","games_won":9511,"supporter":true,"badge_count":33,"games_played":16679,"win_rate_pct":57.02},"meta":{"timestamp":"2026-06-10T14:02:23.729Z","request_id":"ca2e47a7-a1ac-41e4-8028-9fba44463f22"},"status":"ok","message":"User retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/leaderboard":{"get":{"operationId":"get_v1_leaderboard","tags":["Rankings"],"summary":"Top TETRA LEAGUE players","description":"","parameters":[{"name":"limit","in":"query","required":false,"description":"Max 1-100","schema":{"type":"string"},"example":"25"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":25,"source":"TETR.IO","leaderboard":[{"tr":24834.84,"vs":472.87,"apm":241.75,"pps":4.33,"rank":"x+","country":"KR","position":1,"username":"frozenaccount"},{"tr":24795.6,"vs":441.92,"apm":220.38,"pps":3.82,"rank":"x+","country":"US","position":2,"username":"blaarg"},{"tr":24727.19,"vs":437.19,"apm":223.82,"pps":3.91,"rank":"x+","country":"US","position":3,"username":"caboozled_pie"},{"tr":24711.3,"vs":425.11,"apm":211.12,"pps":3.78,"rank":"x+","country":"PH","position":4,"username":"vincehd"},{"tr":24687.82,"vs":408.12,"apm":212.54,"pps":3.81,"rank":"x+","country":"CN","position":5,"username":"kafe11"},{"tr":24667.38,"vs":390.96,"apm":201.19,"pps":3.6,"rank":"x+","country":"KR","position":6,"username":"turtle"},{"tr":24645.08,"vs":412.82,"apm":204.99,"pps":3.75,"rank":"x+","country":"US","position":7,"username":"flyingdiarrhea"},{"tr":24626.37,"vs":383.52,"apm":197.32,"pps":3.47,"rank":"x+","country":"PH","position":8,"username":"tiki2tgt"},{"tr":24623.08,"vs":384.46,"apm":194.99,"pps":3.55,"rank":"x+","country":"CA","position":9,"username":"___sh4rk"},{"tr":24615.97,"vs":415.8,"apm":216.96,"pps":4.21,"rank":"x+","country":"NU","position":10,"username":"promooooooo"},{"tr":24589.43,"vs":382.72,"apm":193.09,"pps":3.87,"rank":"x+","country":"US","position":11,"username":"osw"},{"tr":24587.56,"vs":353.86,"apm":181.39,"pps":3.36,"rank":"x+","country":"SE","position":12,"username":"bladee_"},{"tr":24558.39,"vs":359.12,"apm":174.16,"pps":3.27,"rank":"x+","country":"BR","position":13,"username":"lmfinish_"},{"tr":24555.37,"vs":347.48,"apm":177.71,"pps":3.57,"rank":"x+","country":"ZM","position":14,"username":"roadtohrank"},{"tr":24546.68,"vs":340.38,"apm":176.19,"pps":3.7,"rank":"x+","country":"PL","position":15,"username":"brzenk"},{"tr":24542.2,"vs":360.72,"apm":190.84,"pps":3.81,"rank":"x+","country":"ID","position":16,"username":"vexsery"},{"tr":24526.25,"vs":383.5,"apm":198.08,"pps":3.96,"rank":"x+","country":"MU","position":17,"username":"effi"},{"tr":24516.35,"vs":366.94,"apm":187.89,"pps":3.31,"rank":"x+","country":"JP","position":18,"username":"kalfa_"},{"tr":24507.73,"vs":349.05,"apm":179.4,"pps":3.59,"rank":"x+","country":"SG","position":19,"username":"-error404-"},{"tr":24506.13,"vs":370.33,"apm":180.88,"pps":3.49,"rank":"x+","country":"AQ","position":20,"username":"tatoes"},{"tr":24505.84,"vs":367.53,"apm":181.84,"pps":3.57,"rank":"x+","country":"VN","position":21,"username":"cmdingo"},{"tr":24503.17,"vs":373.83,"apm":191.48,"pps":3.64,"rank":"x+","country":"AU","position":22,"username":"h4y4"},{"tr":24499.89,"vs":362.91,"apm":184.59,"pps":3.57,"rank":"x+","country":"AE","position":23,"username":"kwikscoper"},{"tr":24459.78,"vs":361.8,"apm":177.28,"pps":3.18,"rank":"x+","country":"US","position":24,"username":"quantumhornet4"},{"tr":24419.99,"vs":339.04,"apm":168.09,"pps":3.09,"rank":"x+","country":"US","position":25,"username":"master101"}]},"meta":{"timestamp":"2026-06-10T14:02:23.935Z","request_id":"92696203-218b-4fde-a81a-3ea3ff023338"},"status":"ok","message":"Leaderboard retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/stats":{"get":{"operationId":"get_v1_stats","tags":["Stats"],"summary":"TETR.IO live global stats","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"source":"TETR.IO","records_set":182900394,"total_users":9919451,"games_played":1028245047,"ranked_players":39362,"total_accounts":25846983,"anonymous_users":6599247},"meta":{"timestamp":"2026-06-10T14:02:24.090Z","request_id":"a8855a5d-f17b-4830-906c-c3b4fa304cf6"},"status":"ok","message":"Stats retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":11000,"rps_limit":3,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":700,"monthly_call_quota":178000,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2100,"monthly_call_quota":980000,"rps_limit":18,"hard_limit":true},{"slug":"business","name":"Business","price_cents_month":4400,"monthly_call_quota":5500000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/tetrio-api"}