Kaggle Dataset Search
Parse a Kaggle dataset search or listing page into structured JSON with one row per dataset, including owner, size, usability rating, downloads, and notebook count.
API usage
Add &scraper=kaggle-dataset-serp to a Crawling API request. URL-encode the target URL in the url parameter.
curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
--data-urlencode 'url=https://www.kaggle.com/datasets?search=heart+disease' \
--data-urlencode 'scraper=kaggle-dataset-serp' -Gfrom crawlbase import CrawlingAPI
api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
'https://www.kaggle.com/datasets?search=heart+disease',
{'scraper': 'kaggle-dataset-serp'}
)
import json
data = json.loads(res['body'])const { CrawlingAPI } = require('crawlbase');
const api = new CrawlingAPI({ token: 'YOUR_TOKEN' });
const res = await api.get(
'https://www.kaggle.com/datasets?search=heart+disease',
{ scraper: 'kaggle-dataset-serp' }
);
const data = JSON.parse(res.body);require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')
res = api.get('https://www.kaggle.com/datasets?search=heart+disease', scraper: 'kaggle-dataset-serp')
data = JSON.parse(res.body)Example input URL
Any Kaggle dataset search or listing page works in the url parameter - the page at /datasets, with or without a query string. For example:
https://www.kaggle.com/datasets?search=heart+disease
https://www.kaggle.com/datasets?search=nlp&fileType=csv
https://www.kaggle.com/datasets
https://www.kaggle.com/datasets?search=weather&page=2Response shape
JSON response body. Field types may be null when the source page omits the value.
URL of the search page that was scraped.
Search term Kaggle actually ran, read from the rendered search box and falling back to the request URL.
Total number of datasets matching the search across all pages, or null when the page does not state a total.
Current page number, or null when it cannot be determined.
Whether a further page of results is available.
Number of rows returned on this page.
Dataset rows in the order they appear on the page.
One-based rank of the row within this page.
Dataset display title.
Absolute URL of the dataset page.
Dataset identifier as
owner/dataset, read from the URL path.Account that publishes the dataset.
Owner display name.
Absolute URL of the owner profile.
Dataset card image URL. Kaggle serves it as a CSS background rather than an image tag, so it is read from the inline style.
Absolute timestamp of the last dataset update. The card shows only a relative age, so the value is taken from the tooltip behind it and keeps Kaggle formatting rather than ISO 8601.
Kaggle usability score for the dataset, from 0 to 10.
Number of files in the dataset.
File format label shown on the card (for example
CSV).Total dataset size as displayed, units included (for example
6 kB). Kaggle does not expose the exact byte count in the list view.Download count. Kaggle abbreviates figures over a thousand on cards (for example
362K); the value is expanded back to an exact integer, and is null when the card omits the figure.Number of public notebooks built on the dataset, expanded from the same abbreviated form as
downloads.Upvote count for the dataset.
Kaggle medal on the dataset (for example
bronze), or null when the row carries none.Sample response
{
"url": "https://www.kaggle.com/datasets?search=heart+disease",
"query": "heart disease",
"totalCount": 1628,
"page": 1,
"hasNextPage": true,
"resultCount": 20,
"results": [
{
"position": 1,
"title": "Heart Disease Dataset",
"url": "https://www.kaggle.com/datasets/johnsmith88/heart-disease-dataset",
"slug": "johnsmith88/heart-disease-dataset",
"owner": {
"name": "David Lapp",
"url": "https://www.kaggle.com/johnsmith88"
},
"thumbnail": "https://storage.googleapis.com/kaggle-datasets-images/216167/469115/23af5a37ef4e938b2c9a1b97662c3efc/dataset-thumbnail.jpg?t=2019-06-04-03-29-56",
"lastUpdated": "Thu Jun 06 2019 17:33:55 GMT+0200 (Central European Summer Time)",
"usabilityRating": 8.8,
"fileCount": 1,
"fileFormat": "CSV",
"size": "6 kB",
"downloads": 362000,
"notebookCount": 984,
"votes": 1859,
"medal": "gold"
},
{
"position": 2,
"title": "Heart Disease",
"url": "https://www.kaggle.com/datasets/oktayrdeki/heart-disease",
"slug": "oktayrdeki/heart-disease",
"owner": {
"name": "Oktay Ördekçi",
"url": "https://www.kaggle.com/oktayrdeki"
},
"thumbnail": "https://storage.googleapis.com/kaggle-datasets-images/6393782/10326308/95bfd024a1dc7d059e7b6f3632ed37c9/dataset-thumbnail.png?t=2024-12-29-13-32-57",
"lastUpdated": "Sun Dec 29 2024 14:26:49 GMT+0100 (Central European Standard Time)",
"usabilityRating": 10,
"fileCount": 1,
"fileFormat": "CSV",
"size": "582 kB",
"downloads": 22700,
"notebookCount": 48,
"votes": 179,
"medal": "bronze"
}
]
}