alfaarghya/alfa-leetcode-api

Repository files navigation

TypeScriptNode.jsExpress.jsREST API

At First, I struggled to find proper documentation for the leetcode.com/graphql. After scouring various articles about the LeetCode public API, I still couldn't find the comprehensive documentation I was looking for. Fueled by the desire to fill this gap I created alfa-leetcode-api.

alfa-leetcode-api is a custom solution born out of the need for a well-documented and detailed LeetCode API. This project is designed to provide developers with endpoints that offer insights into a user's profile, badges, solved questions, contest details, contest history, submissions, and also daily questions, selected problem, list of problems.

https://alfa-leetcode-api.onrender.com/
docker run -p 3000:3000 alfaarghya/alfa-leetcode-api:2.0.1

follow this documentation => CONTRIBUTING.md

I've implemented a rate limit to prevent any potential server overload issues.

During development, it's recommended to utilize the API locally. To do so, follow this documentation => Local Deploy

DetailsEndpointDescriptionDemo
Profile/:usernameGet details about a user's profile.click here
Badges/:username/badgesGet the badges earned by the user.click here
Solved/:username/solvedGet the total number of questions solved by the user.click here
Contest/:username/contestGet details about the user's contest participation.click here
Contest History/:username/contest/historyGet contest history.click here
Submission/:username/submissionGet the last 20 submissions of the user.click here
Limited Submission/:username/submission?limit=numberGet a specified number of the user's last submissions.click here
Accepted Submission/:username/acSubmissionGet the last 20 accepted submission of the user.click here
Limited Accepted Submission/:username/acSubmission?limit=7Get a specified number of the user's last accepted submission.click here
Calendar/:username/calendarGet the user's submission calendar.click here
DetailsEndpointDescription
Full Profile/userProfile/:usernameget full profile details in one call
Year Calender/userProfileCalendar?username=yourname&year=2024get your calendar details with year
Lang Stats/languageStats?username=yournameget the language stats of a user
Question Progress/userProfileUserQuestionProgressV2/:userSlugget your question progress
Skill Stats/skillStats/:usernameget your skill stats
User Contest Ranking/userContestRankingInfo/:usernameget contest ranking
Trending Discussion/trendingDiscuss?first=20get top 20 trending discussions
Discussion Topic/discussTopic/:topicIdget discussion topic
Discussion Comment/discussComments/:topicIdget discussion comments
Raw Daily Problem/dailyQuestionget raw daily question
DetailsEndpointDescriptionDemo
Daily Problem/dailyGet the daily question.click here
Selected Problem/select?titleSlug=selected-questionGet details about a selected-question.click here
Problems/problemsGet a list of 20 problems.click here
Limited Problems/problems?limit=numberGet a list of a specified number of problems.click here
Filter Problems/problems?tags=tag1+tag2Get a list of problems based on selected tags.click here
Skip Problems/problems?skip=numberGet a list of 20 problems, skipping a specified number of problems.TODO
Difficulty/problems?difficulty=EASYGet a list of difficulty based problems, use MEDIUM to get medium level, HARD to get Hard level .TODO
Filter & Limited Problems/problems?tags=tag1+tag2+tag3&limit=numberGet a list of a specified number of problems based on selected tags.click here
Skip & Limited Problems/problems?limit=number&skip=numberGet a list of a specified number of problems skipping a specified number of problems.TODO
Skip & Filter & Limited Problems/problems?tags=tag1+tag2+tag3&limit=number&skip=numberGet a list of a specified number of problems based on selected tags skipping a specified number of problems.TODO
ContributorContribution
@aryanpingleAC submission
@jamesh48TypeScript Refactoring
@kvqnPORT environment variable
@changchunleiNew Endpoints - language stats, integrated user profile, contest and discussions
@merakesh99Hot reload issue solved
@ajchiliSkip param to fetch problems
@theinit01Temp fix for skip
@123xylemAdd Descriptions and Methods to API route documentation.
@P-M-ManmohanAdded filtering based on difficulty

LinkedInTwitterInstagramLeetCode

About

It's a custom leetcode api. This API provides endpoints to retrieve details about a user's profile, badges, solved questions, contest details, contest history, submissions, calendar and and also daily questions, selected problem, list of problems.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 11