HackerRank Scraper
Extract coding challenges, contest standings, skill certifications, and company interview questions from HackerRank. Powered by spider-browser .
Extract data in minutes
import { SpiderBrowser } from "spider-browser";
const spider = new SpiderBrowser({
apiKey: process.env.SPIDER_API_KEY!,
stealth: 2,
});
await spider.connect();
const page = spider.page!;
await page.goto("https://www.hackerrank.com/domains/algorithms");
await page.content(10000);
const data = await page.evaluate(`(() => {
const challenges = [];
document.querySelectorAll(".challenge-list-item, [class*='ChallengeCard']").forEach(el => {
const name = el.querySelector("h4, [class*='title']")?.textContent?.trim();
const difficulty = el.querySelector("[class*='difficulty']")?.textContent?.trim();
const successRate = el.querySelector("[class*='success-ratio']")?.textContent?.trim();
const score = el.querySelector("[class*='score']")?.textContent?.trim();
if (name) challenges.push({ name, difficulty, successRate, score });
});
return JSON.stringify({ total: challenges.length, challenges: challenges.slice(0, 15) });
})()`);
console.log(JSON.parse(data));
await spider.close(); Structured data endpoint
Extract structured JSON from hackerrank.com with a single POST request. AI-configured selectors, cached for fast repeat calls.
/fetch/hackerrank.com/ curl -X POST https://api.spider.cloud/fetch/hackerrank.com/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"return_format": "json"}' import requests
resp = requests.post(
"https://api.spider.cloud/fetch/hackerrank.com/",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={"return_format": "json"},
)
print(resp.json()) const resp = await fetch("https://api.spider.cloud/fetch/hackerrank.com/", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({ return_format: "json" }),
});
const data = await resp.json();
console.log(data); Data you can extract
React SPA handling
Full browser rendering for streaming content and dynamic React UI.
Structured parsing
Extract code blocks, documentation, repository data, and metadata.
Load completion
Smart network idle detection waits for dynamically loaded content to finish.
More AI & Developer scrapers
Extract shared ChatGPT conversations, prompts, and AI-generated content from public links.
Extract ML model cards, dataset info, leaderboard data, and paper metadata from Hugging Face.
Extract trending repositories, star counts, contributor data, and code snippets from GitHub.
Start scraping hackerrank.com
Get your API key and start extracting data in minutes.