LeetCode Scraper
Extract coding problems, difficulty ratings, acceptance rates, and solution discussions from LeetCode. Built on spider-browser .
- target
- leetcode.com
- success rate
- 99.9%
- latency
- ~4ms
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://leetcode.com/problemset/");
await page.content(12000);
const data = await page.evaluate(`(() => {
const problems = [];
document.querySelectorAll("[role='row']").forEach(el => {
const title = el.querySelector("a[href*='/problems/']")?.textContent?.trim();
const difficulty = el.querySelector("[class*='difficulty']")?.textContent?.trim();
const acceptance = el.querySelector("[class*='acceptance']")?.textContent?.trim();
const link = el.querySelector("a[href*='/problems/']")?.getAttribute("href");
if (title) problems.push({ title, difficulty, acceptance, link });
});
return JSON.stringify({ total: problems.length, problems: problems.slice(0, 20) });
})()`);
console.log(JSON.parse(data));
await spider.close(); One endpoint for leetcode.com.
Structured JSON from leetcode.com with a single POST. AI-resolved selectors, cached on the first call.
/fetch/leetcode.com/ curl -X POST https://api.spider.cloud/fetch/leetcode.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/leetcode.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/leetcode.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); Fields you can pull.
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.
ChatGPT Scraper
Extract shared ChatGPT conversations, prompts, and AI-generated content from public links.
Hugging Face Scraper
Extract ML model cards, dataset info, leaderboard data, and paper metadata from Hugging Face.
GitHub Scraper
Extract trending repositories, star counts, contributor data, and code snippets from GitHub.
Start scraping leetcode.com.
Grab an API key and call the endpoint above. The first request resolves the config; every request after hits cache.