- ✅ User Profiles:
/leetcode/:username- Get complete user profile - ✅ User Badges:
/leetcode/:username/badges- Get user achievement badges - ✅ Solved Problems:
/leetcode/:username/solved- Get statistics of solved problems - ✅ Contest Info:
/leetcode/:username/contest- Get contest participation details - ✅ Contest History:
/leetcode/:username/contest/history- Get contest history - ✅ Submissions:
/leetcode/:username/submission- Get recent submissions with limit support - ✅ Accepted Submissions:
/leetcode/:username/acSubmission- Get accepted submissions only - ✅ Calendar:
/leetcode/:username/calendar- Get submission calendar data - ✅ Full Profile:
/leetcode/userProfile/:username- Get complete profile in one call - ✅ Language Stats:
/leetcode/languageStats?username=name- Get programming language statistics - ✅ Skill Stats:
/leetcode/skillStats/:username- Get skill-based statistics - ✅ Contest Ranking:
/leetcode/userContestRankingInfo/:username- Get contest ranking info
- ✅ User Profile:
/codechef/user/:username- Get complete CodeChef profile - ✅ User Rating:
/codechef/user/:username/rating- Get rating (returns 0 if no contests) - ✅ User Ranking:
/codechef/user/:username/ranking- Get global and country ranking - ✅ User Stats:
/codechef/user/:username/stats- Get comprehensive user statistics - ✅ Contest List:
/codechef/contests- Get list of CodeChef contests
- ✅ Daily Question:
/leetcode/daily- Get today's daily challenge - ✅ Raw Daily:
/leetcode/dailyQuestion- Get raw daily question data - ✅ Problem Details:
/leetcode/select?titleSlug=question-slug- Get specific problem - ✅ Problems List:
/leetcode/problems- Get paginated problems with filtering- Supports:
limit,skip,tags,difficultyparameters - Example:
/leetcode/problems?difficulty=EASY&tags=array&limit=10
- Supports:
- ✅ Trending Discussions:
/leetcode/trendingDiscuss?first=20- Get trending discussions - ✅ Discussion Topic:
/leetcode/discussTopic/:topicId- Get specific discussion - ✅ Discussion Comments:
/leetcode/discussComments/:topicId- Get discussion comments
- LeetCode APIs: All prefixed with
/leetcode/for clear separation - CodeChef APIs: All prefixed with
/codechef/for clear identification - Platform Field: Each response includes
"platform": "LeetCode"or"platform": "CodeChef"
- CodeChef Rating: Returns
0when user hasn't participated in any contests - Contest Count: Returns
totalContests: 0for users with no contest history - Graceful Degradation: API works even when user has minimal activity
- User Validation: Validates usernames (supports dots for CodeChef)
- 404 Handling: Proper error responses for non-existent users
- Rate Limiting: 100 requests per 15 minutes per IP
- Timeout Protection: 30-second timeouts for external API calls
{
"success": true,
"message": "Data retrieved successfully",
"data": {
"platform": "CodeChef|LeetCode",
// ... platform-specific data
},
"timestamp": "2025-07-18T07:53:27.485Z"
}- LeetCode user profiles, badges, solved stats
- LeetCode daily questions and problems list
- LeetCode trending discussions
- CodeChef user profiles with zero rating handling
- CodeChef rating, ranking, and statistics
- Health check and API documentation
- Some LeetCode users may not have contest data
- CodeChef contest list may be empty (API limitation)
- CodeChef data depends on web scraping (may need updates if site changes)
npm start # Production
npm run dev # Development with auto-reload
npm run demo # Run comprehensive test# LeetCode user profile
curl "http://localhost:3000/leetcode/leetcode"
# CodeChef user rating (returns 0 if no contests)
curl "http://localhost:3000/codechef/user/admin/rating"
# LeetCode daily question
curl "http://localhost:3000/leetcode/daily"
# LeetCode problems with filters
curl "http://localhost:3000/leetcode/problems?difficulty=EASY&limit=5"
# CodeChef user statistics
curl "http://localhost:3000/codechef/user/admin/stats"- Concurrent Requests: Handles multiple API calls efficiently
- Caching: Response compression for better performance
- Security: Helmet.js for security headers, CORS enabled
- Monitoring: Comprehensive logging and error tracking
✅ All requested LeetCode endpoints implemented
✅ CodeChef integration with zero rating handling
✅ Clear platform differentiation with prefixes
✅ Robust error handling and validation
✅ Comprehensive testing and documentation
✅ Production-ready with security features
The API successfully differentiates between LeetCode and CodeChef, handles users with no contest history (returning 0 ratings), and provides a comprehensive set of endpoints for both platforms! 🎉