pritam1293's blog

By pritam1293, history, 9 months ago, In English

Hello everyone! I’m currently working on a personal project called AlgoBoard, a platform where users can view all their competitive programming statistics in one place. This includes the number of problems solved, total submissions, complete contest history, rating changes, and much more.

However, I’ve run into an issue: I’m having trouble finding the API endpoints for the two mentioned websites. If any Codeforces users or developers could help me out, I’d really appreciate it.

Thank you in advance! (P.S. Feel free to skip this if it’s not your area of interest.)

  • Vote: I like it
  • +5
  • Vote: I do not like it

»
9 months ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

My understanding is that at the moment there is no Codechef API, you have to parse web pages

»
9 months ago, hide # |
 
Vote: I like it +3 Vote: I do not like it

I am afraid that your idea is much similar with https://clist.by, which also provides APIs to fetch user statistics. If you only want to check contest datas of leetcode and codechef, maybe my website, https://chinesedfan.github.io/clist-ex/, can give some help.

»
115 minutes ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

I ran into a very similar issue while building APIs for my own puzzle-solving platform, especially when trying to keep response times low for screenshot processing and solver requests. One thing that helped a lot was separating the scraping/discovery layer from the actual FastAPI endpoints instead of directly coupling parsing logic with request handlers. That made retries, caching, and rate-limit handling much cleaner.

For example, I ended up structuring endpoints like this:

from fastapi import FastAPI app = FastAPI() @app.get("/solve") async def solve_board(board_data: str): result = solver_engine(board_data) return {"solution": result}

Then a separate async service handled: • request retries • endpoint rotation • parsing • fallback responses • cache refresh

For sites like LeetCode/CodeChef, sometimes inspecting: • XHR/fetch requests in DevTools • GraphQL calls • contest APIs • ranking endpoints works better than looking at page HTML itself. I also learned pretty quickly that keeping API responses lightweight matters a LOT once traffic scales. My Block Blast Solver project started getting much faster after introducing async request batching and cleaner endpoint isolation.

Especially if you're planning real-time solving or competitive stats fetching, FastAPI + async architecture is honestly a very solid choice.