Crawling API / LeetCode

Scraper LeetCode.
Problèmes et solutions, entièrement rendus.

Envoyez n'importe quelle URL LeetCode et récupérez le HTML entièrement rendu, via des proxys résidentiels avec gestion anti-bot intégrée.
Ou obtenez du JSON structuré avec les scrapers leetcode-serp, leetcode-problem, leetcode-solutions et leetcode-solution.

99 % de réussite140M IP résidentielles30 zones géographiques
URL LeetCodeHTML or JSONleetcode.com/problems/two-sum/CrawlbaseRouterRenduExtraireHTML renduCatalogueProblèmeSolutionsSolutioncrawling-apileetcode-serpleetcode-problemleetcode-solutionsleetcode-solutionleetcode.com · rendu + parsé · 200
Flux de crawl en direct · LeetCode1.24M req/minEn streaming
200leetcode.com/problems/merge-two-sorted-lists/solutions/AU132ms
200leetcode.com/problems/climbing-stairs/solutions/JP70ms
200leetcode.com/problemset/?page=2NL86ms
200leetcode.com/problems/valid-parentheses/solutions/AU95ms
200leetcode.com/problems/merge-two-sorted-lists/solutions/SG81ms
301leetcode.com/problemset/?status=NOT_STARTEDCA127ms
200leetcode.com/problemset/?topicSlugs=arrayFR155ms
200leetcode.com/problems/best-time-to-buy-and-sell-stock/US76ms
200leetcode.com/problems/median-of-two-sorted-arrays/CA184ms
200leetcode.com/problemset/?difficulty=EASYNL145ms
200leetcode.com/problems/3sum/FR129ms
301leetcode.com/problems/3sum/JP145ms
404leetcode.com/problems/merge-two-sorted-lists/solutions/JP103ms
200leetcode.com/problems/merge-two-sorted-lists/solutions/AU121ms
200leetcode.com/problems/longest-substring-without-repeating-characters/JP180ms
200leetcode.com/problemset/?difficulty=EASYCA96ms
200leetcode.com/problems/longest-substring-without-repeating-characters/JP130ms
200leetcode.com/problemset/?topicSlugs=arrayJP190ms
200leetcode.com/problems/two-sum/CA195ms
200leetcode.com/problemset/?status=NOT_STARTEDSG115ms
200leetcode.com/problems/longest-substring-without-repeating-characters/SG143ms
200leetcode.com/problems/two-sum/solutions/US135ms
200leetcode.com/problems/longest-substring-without-repeating-characters/CA72ms
200leetcode.com/problemset/?difficulty=EASYES169ms
200leetcode.com/problems/valid-parentheses/solutions/FR170ms
200leetcode.com/problems/add-two-numbers/CA44ms
200leetcode.com/problems/merge-two-sorted-lists/solutions/AU132ms
200leetcode.com/problems/climbing-stairs/solutions/JP70ms
200leetcode.com/problemset/?page=2NL86ms
200leetcode.com/problems/valid-parentheses/solutions/AU95ms
200leetcode.com/problems/merge-two-sorted-lists/solutions/SG81ms
301leetcode.com/problemset/?status=NOT_STARTEDCA127ms
200leetcode.com/problemset/?topicSlugs=arrayFR155ms
200leetcode.com/problems/best-time-to-buy-and-sell-stock/US76ms
200leetcode.com/problems/median-of-two-sorted-arrays/CA184ms
200leetcode.com/problemset/?difficulty=EASYNL145ms
200leetcode.com/problems/3sum/FR129ms
301leetcode.com/problems/3sum/JP145ms
404leetcode.com/problems/merge-two-sorted-lists/solutions/JP103ms
200leetcode.com/problems/merge-two-sorted-lists/solutions/AU121ms
200leetcode.com/problems/longest-substring-without-repeating-characters/JP180ms
200leetcode.com/problemset/?difficulty=EASYCA96ms
200leetcode.com/problems/longest-substring-without-repeating-characters/JP130ms
200leetcode.com/problemset/?topicSlugs=arrayJP190ms
200leetcode.com/problems/two-sum/CA195ms
200leetcode.com/problemset/?status=NOT_STARTEDSG115ms
200leetcode.com/problems/longest-substring-without-repeating-characters/SG143ms
200leetcode.com/problems/two-sum/solutions/US135ms
200leetcode.com/problems/longest-substring-without-repeating-characters/CA72ms
200leetcode.com/problemset/?difficulty=EASYES169ms
200leetcode.com/problems/valid-parentheses/solutions/FR170ms
200leetcode.com/problems/add-two-numbers/CA44ms
01 Démo en direct

Quatre scrapers LeetCode. Un JSON propre chacun.

Les quatre scrapers LeetCode, tapés en direct. leetcode-solution récupère un article de la communauté avec ses blocs de code, leetcode-serp lit le catalogue de problèmes, leetcode-problem renvoie un problème avec son énoncé et son code de départ, et leetcode-solutions lit un onglet solutions. Changez d'onglet, ou survolez pour mettre en pause et lire.

prêt
touches 1-4 pour changer · cliquez pour mettre en pauselancez votre propre URL
Lancez votre première requête en quelques minutes. Jusqu'à 5 000 requêtes gratuites, sans carte bancaire.Commencer gratuitement
02 Capacités

Une API, chaque recoin de LeetCode.

Quatre scrapers dédiés couvrent les pages qui comptent : le catalogue de problèmes, les problèmes individuels, les onglets solutions et les articles individuels. La Crawling API rend chaque page dans un vrai navigateur, l'atteint via des IP résidentielles et vous renvoie du HTML ou du JSON propre.

catalogue de problèmes

Tout le catalogue

leetcode-serp transforme une page de catalogue de problèmes en JSON : totalProblems et problemCount, plus chaque ligne avec ses champs id, title, titleSlug, url et difficulty, son taux d'acceptation, son flag premium et son flag de défi quotidien.

problèmes

Énoncés et code de départ

leetcode-problem renvoie un problème avec son énoncé en HTML et en texte brut, ses champs difficulty et category, ses topic tags, ses hints, ses exemples de test, un snippet de départ pour chaque langage proposé par LeetCode, ses questions similaires et ses compteurs de likes, dislikes et soumissions.

solutions

L'onglet solutions

leetcode-solutions renvoie un onglet solutions en JSON, chaque post avec ses champs id, title et url, le nom et le pseudo de son author, sa date de publication, ses tags, ses upvotes, ses views et son nombre de commentaires.

articles

Solutions individuelles

Ajoutez scraper=leetcode-solution pour renvoyer un article avec son author, sa date de publication, ses tags, ses compteurs d'engagement, son corps en HTML et en texte brut, et chaque bloc de code rendu avec son langage.

proxys

140M IP résidentielles

Chaque requête fait tourner une IP résidentielle sur 30 zones géographiques et franchit les contrôles de bot automatiquement. Rien à résoudre, rien à maintenir.

un token

Une API pour chaque page

La Crawling API fonctionne sur n'importe quelle URL, donc le même token couvre chaque problème et chaque solution LeetCode et tout ce que vous crawlez d'autre. Voir la démo en direct.

03 Sortie

Chaque champ de problème, en JSON propre.

Envoyez une URL de problème avec scraper=leetcode-problem et le problème revient en JSON typé, topic tags et code de départ inclus. Remplacez par leetcode-serp, leetcode-solutions ou leetcode-solution pour le catalogue de problèmes et les articles de la communauté.

{ "url": "https://leetcode.com/problems/two-sum/", "id": "1", "title": "Two Sum", "titleSlug": "two-sum", "difficulty": "Easy", "category": "Algorithms", "isPremium": false, "description": "You are given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.", "descriptionHtml": "<p>You are given an array of integers <code>nums</code>&nbsp;and an integer <code>target</code>...", "hints": [ "A really brute force way would be to search for all possible pairs of numbers...", "..." ], "topicTags": [ { "name": "Array", "slug": "array" }, { "name": "Hash Table", "slug": "hash-table" } ], "exampleTestcases": [ "[2,7,11,15]\n9", "[3,2,4]\n6", "[3,3]\n6" ], "codeSnippets": [ { "language": "Python3", "languageSlug": "python3", "code": "class Solution:\n def twoSum(self, nums: List[int], target: int) -> List[int]:" } ], "likes": 69478, "dislikes": 2592, "commentCount": 3490, "acceptedCount": 22929319, "submissionCount": 39569455, "acceptanceRate": "57.9%", "similarQuestions": [ { "title": "3Sum", "titleSlug": "3sum", "difficulty": "Medium" } ], "officialSolution": { "available": true, "isFree": true, "hasVideo": true }, "solutionsUrl": "https://leetcode.com/problems/two-sum/solutions/" }

Problème

url · string  id · string  title · string  titleSlug · string

Énoncé

description · string  descriptionHtml · string  hints · array  exampleTestcases · array

Topics et code

topicTags[].name · string  topicTags[].slug · string  codeSnippets[].languageSlug · string  codeSnippets[].code · string

Engagement

likes · number  dislikes · number  submissionCount · number  acceptanceRate · string

Questions liées

similarQuestions[] · array  officialSolution.available · boolean  officialSolution.hasVideo · boolean  solutionsUrl · string

04 Comment ça marche

De l'URL aux données en un seul appel.

Chaque requête LeetCode suit le même chemin. Vous envoyez une URL, nous gérons tout le reste.

01

Envoyez l'URL

Passez n'importe quelle URL publique LeetCode avec votre token : le catalogue de problèmes, un problème, un onglet solutions ou un article individuel.

02

Faites tourner un proxy

Une IP et une zone résidentielles qui atteignent le site proprement, tirées de 140M IP sur 30 régions.

03

Rendez la page

Un vrai navigateur charge la page pour que le tableau des problèmes, le panneau d'énoncé et le corps de la solution soient rendus avant la capture.

04

Franchissez l'anti-bot

Les contrôles de bot et les limites de débit du site sont gérés automatiquement. Rien à résoudre, rien à maintenir.

05

Renvoyez HTML ou JSON

Le HTML entièrement rendu revient, ou du JSON typé quand vous ajoutez leetcode-serp, leetcode-problem, leetcode-solutions ou leetcode-solution.

05 Cas d'usage

Ce que les équipes construisent avec les données LeetCode.

USE / 01Catalogue

Indexation du catalogue

Parcourez le catalogue de problèmes page par page pour construire un index consultable de chaque problème avec ses champs id, slug et difficulty, son taux d'acceptation et son flag premium.

USE / 02Entraînement

Outils de préparation aux entretiens

Récupérez énoncés, hints, exemples de test et snippets de départ pour alimenter applis d'entraînement, paquets de répétition espacée et parcours de préparation internes.

USE / 03Benchmarks

Évaluation de modèles et d'agents

Assemblez des énoncés de problèmes avec leurs exemples de test et des articles de référence comme jeu de benchmark noté pour les modèles de génération de code.

USE / 04Recherche

Analyse des solutions et des patterns

Collectez onglets solutions et articles individuels pour voir sur quelles approches, quels langages et quelles structures de données la communauté converge vraiment.

USE / 05Classement

Suivi de difficulté et de popularité

Suivez taux d'acceptation, likes, dislikes, nombre de soumissions, upvotes et views dans le temps pour voir quels problèmes et quels articles gagnent du terrain.

USE / 06Couverture

N'importe quelle URL, une API

Crawlez le catalogue de problèmes, les problèmes, les onglets solutions et les articles individuels, plus tout autre site dont vous avez besoin.

06 À savoir

Bon à savoir pour scraper LeetCode.

HTML par défaut, JSON à la demande

Vous obtenez le HTML entièrement rendu. Ajoutez scraper=leetcode-serp, leetcode-problem, leetcode-solutions ou leetcode-solution pour du JSON parsé, ou parsez le HTML vous-même.

Le défi quotidien est une ligne en plus

LeetCode épingle le défi quotidien au-dessus du tableau, donc une page complète revient avec une ligne de plus que la taille de page. C'est la seule ligne dont isDailyQuestion vaut true, filtrez donc sur ce flag plutôt que sur la position.

Les problèmes premium ne renvoient que des métadonnées

Un problème premium conserve ses champs d'identité, isPremium et ses topic tags, mais l'énoncé et les compteurs sont derrière le paywall et reviennent vides. Vérifiez isPremium avant de traiter une description vide comme un échec de parsing.

Les compteurs arrivent tels qu'affichés

LeetCode abrège sur la page tout ce qui dépasse le millier, donc 11.9K est réexpansé en 11900. La valeur porte la précision de la page, pas le chiffre exact.

07 Pourquoi Crawlbase

Conçu pour crawler LeetCode à grande échelle.

La Crawling API tourne sur le même réseau qui sert plus de 46 000 clients payants et 70 000 développeurs. Aucun proxy à acheter, aucun navigateur à faire tourner, rien à corriger quand le site change.

99%
Taux de réussite moyen des requêtes
140M
IP résidentielles, plus 98M datacenter
30
Zones géographiques pour des résultats locaux précis
20/s
Requêtes par seconde par défaut, plus sur demande

Un token, des SDK officiels pour Python, Node et Ruby, et un réseau à 99,99 % de disponibilité en dessous.

08 FAQ

Questions sur le scraping de LeetCode.

Envoyez n'importe quelle URL LeetCode à la Crawling API de Crawlbase avec votre token. Crawlbase fait tourner un proxy résidentiel, rend la page dans un vrai navigateur, franchit les contrôles de bot et renvoie le HTML entièrement rendu. Ajoutez un scraper dédié (scraper=leetcode-serp, leetcode-problem, leetcode-solutions ou leetcode-solution) pour obtenir du JSON structuré à la place.
Oui. Par défaut la Crawling API renvoie du HTML rendu ; ajoutez un scraper dédié pour recevoir du JSON structuré : leetcode-serp pour le catalogue de problèmes, leetcode-problem pour un problème individuel, leetcode-solutions pour un onglet solutions, et leetcode-solution pour un article individuel.
Les pages de catalogue et de liste de problèmes, les pages de problème individuelles, l'onglet solutions d'un problème et les pages de solution individuelles sur leetcode.com. La même API fonctionne aussi sur tout autre site.
Crawlbase route chaque requête via des IP résidentielles rotatives sur 30 zones géographiques et franchit les contrôles de bot automatiquement, donc l'accès reste constant et il n'y a rien à maintenir quand le site change sa configuration.
leetcode-serp renvoie une page de catalogue de problèmes avec totalProblems, problemCount et une ligne par problème. leetcode-problem renvoie un problème avec son énoncé, ses topic tags, ses hints, ses exemples de test, ses snippets de départ et ses compteurs. leetcode-solutions renvoie un onglet solutions avec author, tags et compteurs d'engagement par post. leetcode-solution renvoie un article individuel avec son corps et chaque bloc de code rendu.
Le scraper leetcode-solution renvoie codeBlocks, chacun avec son langage et son source complet, à côté du corps de l'article en HTML et en texte brut. Seuls les blocs rendus dans le markup servi sont renvoyés ; un post qui monte des onglets de langage supplémentaires au clic n'expose que le bloc livré avec la page.
Commencez gratuitement avec jusqu'à 5 000 requêtes et sans carte bancaire. Les offres payantes évoluent avec l'usage, et le même token fonctionne pour la Crawling API et chaque scraper Crawlbase.

Commencez à scraper LeetCode.
Oubliez les proxys et les limites de débit.

Gratuit pour démarrer avec jusqu'à 5 000 requêtes. Un token pour la Crawling API et chaque scraper.