Discover/hackerrank.com API
live

hackerrank.com APIhackerrank.com

Access HackerRank challenge scores, difficulty ratings, success ratios, and track-level rankings via 2 structured API endpoints. Filter by track, paginate results.

Endpoints
2
Updated
28d ago
Try it
Number of challenges to return per page (max observed: 100).
Track slug to filter challenges. Accepted values: algorithms, data-structures, mathematics
Pagination offset (number of items to skip).
api.parse.bot/scraper/b59ecdc9-59f5-4d6b-b890-daba4a62f7c0/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/b59ecdc9-59f5-4d6b-b890-daba4a62f7c0/get_challenges?limit=5&track=algorithms&offset=0' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 2 totalclick to expand

Get challenges with their score data including max_score, difficulty rating, success_ratio, total submissions, and solved count. Can be filtered by track or return all challenges. Results are paginated with offset/limit.

Input
ParamTypeDescription
limitintegerNumber of challenges to return per page (max observed: 100).
trackstringTrack slug to filter challenges. Accepted values: algorithms, data-structures, mathematics, sql, databases, regex, security, distributed-systems, tutorials, c, cpp, java, python, ruby, shell, fp, ai, react, general-programming. When omitted, returns all challenges across all tracks.
offsetintegerPagination offset (number of items to skip).
Response
{
  "type": "object",
  "fields": {
    "limit": "integer current page size",
    "total": "integer total number of challenges matching the query",
    "offset": "integer current pagination offset",
    "challenges": "array of challenge objects with id, slug, name, max_score, difficulty, difficulty_name, success_ratio, total_count, solved_count, category, kind, track, skill, preview, created_at, tag_names"
  },
  "sample": {
    "data": {
      "limit": 5,
      "total": 442,
      "offset": 0,
      "challenges": [
        {
          "id": 2532,
          "kind": "code",
          "name": "Solve Me First",
          "slug": "solve-me-first",
          "skill": "Problem Solving (Basic)",
          "track": {
            "id": 43,
            "name": "Warmup",
            "slug": "warmup",
            "track_id": 3,
            "track_name": "Algorithms",
            "track_slug": "algorithms"
          },
          "preview": "This is an easy challenge to help you start coding in your favorite languages!",
          "category": "ai",
          "max_score": 1,
          "tag_names": [
            "Easy",
            "Basic Programming",
            "Core CS",
            "General Programming"
          ],
          "created_at": "2014-05-17T09:05:03.000Z",
          "difficulty": 0.995,
          "total_count": 5049269,
          "solved_count": 4926745,
          "success_ratio": 0.976,
          "difficulty_name": "Easy"
        }
      ]
    },
    "status": "success"
  }
}

About the hackerrank.com API

The HackerRank API exposes 2 endpoints covering challenge metadata and track-level scoring data from HackerRank's public practice platform. The get_challenges endpoint returns per-challenge fields including max_score, difficulty, success_ratio, total_count, and solved_count, with filtering by track slug and pagination via offset and limit. The get_track_scores endpoint surfaces practice and contest rankings across all tracks in a single call.

Challenge Data

The get_challenges endpoint returns a paginated list of challenges from HackerRank's practice platform. Each challenge object includes id, slug, name, max_score, difficulty, difficulty_name, success_ratio, total_count, and solved_count. Use the track parameter to scope results to a specific domain — accepted slugs are algorithms, data-structures, mathematics, sql, databases, and re. The limit parameter caps page size (up to 100), and offset controls pagination. The total field in the response lets you calculate how many pages exist for a given query.

Track-Level Rankings

The get_track_scores endpoint returns aggregate scoring and ranking data across all HackerRank tracks. Each entry in the tracks array carries name, slug, practice_score, practice_rank, practice_level, contest_score, contest_rank, and contest_level fields. The optional type parameter accepts practice or contest to narrow the returned score type. Rank values reflect the scale of participation across each track and can be used to gauge relative difficulty or popularity.

Scope and Coverage

Both endpoints cover HackerRank's publicly accessible practice content. Challenge-level data is sourced per-track and reflects submission statistics visible on the platform, including how many users have solved a given challenge and the overall success ratio. Private company challenges, interview kits behind login walls, and user-specific profile data are outside the scope of these endpoints.

Common use cases
  • Build a difficulty-ranked challenge browser filtered by track slug such as algorithms or sql.
  • Compute the average success_ratio across a track to benchmark relative problem difficulty.
  • Identify the least-solved challenges using solved_count relative to total_count for study prioritization.
  • Compare practice_rank and contest_rank across tracks to find where competition is most or least dense.
  • Populate a coding curriculum tool with max_score and difficulty_name for each challenge in a track.
  • Track changes in total_count and solved_count over time to monitor challenge popularity trends.
  • Aggregate practice_score and practice_level data across all tracks for a full-platform leaderboard view.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does HackerRank have an official developer API?+
HackerRank offers a work-sample testing API aimed at enterprise recruiters, documented at https://www.hackerrank.com/work/documentation. That API is gated behind a paid account and targets hiring workflows. It does not expose the public practice challenge data or track ranking fields covered here.
What does `get_challenges` return and how do I filter by track?+
The endpoint returns a paginated array of challenge objects. Each object includes id, slug, name, max_score, difficulty, difficulty_name, success_ratio, total_count, and solved_count, plus top-level total, limit, and offset fields for pagination. Pass a track parameter with a slug like algorithms or data-structures to restrict results. Omitting track returns challenges across all available tracks.
Does the API return user profile data or individual solve history?+
Not currently. The API covers challenge-level statistics and track-level aggregate scores and rankings — not individual user profiles, solve history, or certificate data. You can fork this API on Parse and revise it to add an endpoint targeting user-specific public profile data.
Are all HackerRank tracks available in the `track` filter?+
The get_challenges endpoint currently accepts six track slugs: algorithms, data-structures, mathematics, sql, databases, and re. Tracks like fp (functional programming) or ai are not listed as accepted values for that parameter. You can fork this API on Parse and revise it to add support for additional track slugs.
How does pagination work in `get_challenges`?+
The response always includes total, limit, and offset. To page through results, increment offset by your limit value on each request. The maximum observed page size via the limit parameter is 100. If total exceeds your limit, multiple requests are needed to retrieve all matching challenges.
Page content last updated . Spec covers 2 endpoints from hackerrank.com.
Related APIs in Developer ToolsSee all →
arxiv.org API
Search and discover academic research papers on arXiv using keywords, authors, titles, categories, and dates, then access detailed metadata for any paper. Browse the complete arXiv category taxonomy to explore research across different scientific disciplines.
alienvault.com API
Search and analyze global threat intelligence data including indicators of compromise, threat pulses, and adversary profiles from the Open Threat Exchange community. Monitor recent security alerts and access detailed information about threats and adversaries to strengthen your cybersecurity defenses.
allaboutcircuits.com API
Access educational electronics content from All About Circuits, including technical articles, circuit diagrams, textbook volumes, and forum discussions organized by category. Search and browse the latest resources, view detailed articles, explore engineering tools, and find answers across their community forums.
bazaardb.gg API
Search and retrieve comprehensive data about The Bazaar game cards, including items, skills, merchants, trainers, monsters, and events with full details like tiers, attributes, enchantments, and tooltips. Quickly find the specific card information you need to optimize your gameplay strategy and deck building.
icons8.com API
Search for millions of icons across different visual styles like colorful, pattern-based, and minimalist designs to find the perfect icon for your project. Discover and retrieve icons in your preferred style to enhance your designs and applications.
wynncraft.com API
Access detailed Wynncraft game information to look up item metadata and search across the complete item database, retrieve player statistics and character inventories, and browse guild information and global search results. Use this data to compare gear, track player progress, analyze guild rosters, or build tools for the Wynncraft community.
cursor.directory API
Search and discover AI cursor rules, MCP servers, and job listings organized by category to enhance your development workflow. Browse detailed information about each rule and server to find the tools and configurations that best fit your needs.
smstome.com API
Browse temporary phone numbers from countries around the world and read incoming SMS messages in real time. List available numbers by country, retrieve messages sorted newest to oldest, and search message history by sender or content.