Automate login, solving, and scraping on LeetCode so you can focus on learning — not busywork.
Leetcoder is actively maintained. If something breaks after a LeetCode UI change, or you hit a rough edge on Windows, speak up — that helps everyone.
- Bug or regression? Open a GitHub issue with steps to reproduce and your environment (Windows version, Chrome path, what you expected vs. what happened).
- Feature idea or question? Open an issue — questions are welcome too.
- Want to reach out directly? Message me on GitHub (@chanpreet3000) or use the contact options on my profile.
Stars and PRs are welcome. Even a short issue with a screenshot often saves hours for the next person.
- Works on LeetCode’s newer dynamic layout only.
- Windows only for now. PRs that add solid macOS support are very welcome.
- Use responsibly and in line with LeetCode’s terms.
- Privacy: no data is sent anywhere outside your machine by this tool (see your own Chrome/network setup as usual).
Verified working: 1 May 2026 — if you’re reading this months later, check the “Last commit” badge above; regular commits usually mean the layout selectors are still being kept in sync.
Leetcoder is built to make problem-solving and scraping more efficient. With its automated flow, Leetcoder can solve on the order of ~200 problems in about an hour (network and UI permitting).
-
Automates solving LeetCode questions from your saved solutions.
-
Handles authentication via a persistent Chrome profile.
-
Scrapes and organizes accepted solutions into a local archive.
-
Remembers solved problem names so runs can continue after interruption.
Leetcoder is for educational use. Do not use it to misrepresent your progress or break LeetCode’s rules. Always follow LeetCode’s terms of service and community guidelines.
- Clone the repo.
git clone https://github.com/chanpreet3000/Leetcoder
- Open the project in your editor.
- In the terminal:
yarn install - Create a
.envin the project root:; Used only for the local Chrome profile folder name. USER_EMAIL=your_email_here ; Chrome → chrome://version/ → Executable Path GOOGLE_CHROME_EXECUTABLE_PATH=C:/Program Files/Google/Chrome/Application/chrome.exe - Run:
node index.js
| Kind | Path |
|---|---|
| Scraped solutions | ./UserData/your_email/LeetcoderData/ScrapedSolutions |
| Solved problem list (resume) | ./UserData/your_email/LeetcoderData/SolvedProblems.json |
| Chrome profile (stay logged in) | ./UserData/your_email/ProfileData |
Leetcoder targets Windows. Behavior on macOS is not supported today — contributions to fix that are welcome.
Issues and pull requests are welcome on GitHub. See This project is maintained above if you’re unsure how to report something.
Open source under the MIT License. Free to use and modify for fun or learning; no warranty. If you build on it, a star or mention is appreciated but not required.