Skip to content

arnoob16/GeeksForGeeksAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unofficial GFG API

An unofficial API for GeeksForGeeks for developers to make cool stuff using GFG profile data.


Functionalities

  • Has all the relevant data from the GFG profile page.
  • Has the count of all the problems solved based on difficulties.
  • Has the links & names of all the problems solved by the user segregated based on difficulties.
  • Methods supported - GET

Endpoints

To access the API, there is only 1 endpoint, https://geeks-for-geeks-api.vercel.app/yourGeeksForGeeksUsername

Sample URL - https://geeks-for-geeks-api.vercel.app/arnoob16

How was it built:

The API was built using Web Scraping the profile page and a server deployed on web.


Instructions to run on your local system


Sample API Responses

Success Response

{
    "info": {
        "userName": "arnoob16",
        "profilePicture": "https://media.geeksforgeeks.org/img-practice/user_web-1598433228.svg",
        "instituteRank": "415",
        "currentStreak": "00",
        "maxStreak": "929",
        "institution": "SRM Institute of Science and Technology ",
        "languagesUsed": "Java, C++, Python",
        "codingScore": "224",
        "totalProblemsSolved": "95",
        "monthlyCodingScore": ""
    },
    "solvedStats": {
        "school": {
            "count": 0,
            "questions": []
        },
        "basic": {
            "count": 16,
            "questions": [
                {
                    "question": "Cyclically rotate an array by one",
                    "questionUrl": "https://practice.geeksforgeeks.org/problems/cyclically-rotate-an-array-by-one2614/0"
                },
                {
                    "question": "Union of two arrays",
                    "questionUrl": "https://practice.geeksforgeeks.org/problems/union-of-two-arrays3538/0"
                },
                {
                    "question": "Middle of Three",
                    "questionUrl": "https://practice.geeksforgeeks.org/problems/middle-of-three2926/0"
                }
            ]
        },
        "hard": {
            "count": 2,
            "questions": [
                {
                    "question": "Merge Without Extra Space",
                    "questionUrl": "https://practice.geeksforgeeks.org/problems/merge-two-sorted-arrays5135/0"
                },
                {
                    "question": "Return two prime numbers",
                    "questionUrl": "https://practice.geeksforgeeks.org/problems/return-two-prime-numbers2509/0"
                }
            ]
        }
    }
}

Failure Response

{
    "error": "Profile Not Found"
}

Notes

  • If you are using this, do mention about this repository in your readme, I'll also mention your project here in this repository.
  • A star to the repository would be massive boost to a NOOB like me.