Kaggle
Platform · this deep dive is built from the official pages of the platform itself and of the tools that support it.
Overview
Kaggle is a platform for data science and machine learning specialists: competitions, datasets, a cloud environment for code, ready-made models and courses. It is owned by Google.
The platform gives its own description in a machine-readable file meant for programs: «Kaggle is an online community for data scientists, machine learning practitioners and AI developers. Users can find and publish datasets, build models in a web-based data science environment and take part in competitions». The same file adds: «Kaggle is more than competitions: there is also a large collection of datasets, the Notebooks cloud environment, the Models and Benchmarks sections and many courses», and that the platform is gamified: users earn ranks from Novice to Grandmaster.
Now the main limitation of this article, up front. The site is protected by a browser check: an ordinary request to www.kaggle.com returns a "Checking your browser — reCAPTCHA" page, with the content inserted by a script. At the address www.kaggle.com/robots.txt there is no file with directives: the server returns an HTML page rather than robots.txt text (on one of our checks with code 404, on subsequent ones with code 200 and type text/html). In other words, the platform imposes no formal prohibition on reading, but technical bot protection is in place. That leaves two open sources: the machine-readable description of the site and Kaggle's official documentation on GitHub.
Who's here
Kaggle publishes no audience figures on the pages available to us: neither a user count, nor a count of datasets, nor a breakdown by country and language.
The only indirect indication is in the description of the platform's own page: an invitation to «join millions of creators, researchers and labs evaluating agents, models and frontier technology through crowdsourced benchmarks, competitions and hackathons». The word "millions" is marketing wording without a measurement.
The platform's language is English. The make-up of the audience is indirectly visible from the structure: five progression tiers from Novice to Grandmaster and four areas of activity visible in the command line — competitions, datasets, notebooks and forums (the list of commands).
Getting started
Registration is needed for everything except reading. The official command-line documentation describes signing in like this: «first you will need a Kaggle account»; after signing in, the credentials for programmatic access are downloaded on the settings page, using the «Generate New Token» button in the API section.
The tutorial section suggests opening Kaggle in a browser so you can check the result of commands in the «Your Work» section of your profile — the platform is designed around a "web plus tool" pairing.
The page kaggle.com/docs/getting-started, which the platform links to in its site description — and with it the exact registration procedure, verification requirements and whether business accounts exist — is hidden behind the browser check.
What you can publish
Four types of object that a user creates themselves: competitions, datasets, models and their variations, notebooks (kernels). Forums are available to read.
Datasets are published with a dataset-metadata.json file, into which the title, the address identifier, the licence and the description go — the procedure is described in the tutorial section. The search filters show which formats the platform distinguishes — CSV, SQLite, JSON, BigQuery — and which licences: CC, GPL, ODB and "other". Size is set and filtered in bytes, and the documentation names no upper bound.
Notebooks. The languages are listed in the filter parameters: Python, R, SQLite, Julia; the types are script and notebook. What is published is an .ipynb, .Rmd or .py file plus a kernel-metadata.json with the title, the identifier, the language, the type and the data sources.
Models are published as a model, its variations and versions of those variations — three levels, each with its own commands.
Competitions can not only be entered but also run: the README describes the commands for a competition host — creating one, filling in its pages, configuring and launching it.
The rules on what may not be published sit in an agreement on a page that is closed to reading.
How to grow
The platform does not describe its ranking mechanics, but the sort parameters give away what it counts as popularity. For notebooks these are hotness (the default), the number of comments, the creation date, the run date, relevance, the score, the number of views and the number of votes; for datasets — hottest, votes, the update date, activity; for models — hotness, the number of downloads, the number of votes, the number of notebooks, the creation date. The conclusion: on Kaggle what grows is not text but an artefact that people use.
The second route to growth is competitions. Their categories: featured, research, recruitment, gettingStarted, masters, playground. The recruitment category speaks for itself: some competitions are run for the sake of hiring. The list output has columns for reward, teamCount (the number of teams) and userRank — your place in the public table.
Kaggle announces no ad dashboard.
Path to monetization
Kaggle does not pay for publications: neither a revenue share, nor subscriptions, nor payments for datasets are described in the sources available.
Money here comes from competition prizes: every competition has a reward column, and the list can be sorted by prize. The size of the prizes is set by the organiser, not by the platform, and it differs for each contest. There is no single threshold, no payout conditions and no list of countries on the open pages — those terms are published in the rules of the particular competition.
Indirect monetization is career-based: the recruitment category shows that the platform has built hiring into its own format.
Tools and automation
Kaggle has two official tools, and both are open to read on GitHub — which is what allowed us to check them without signing in to the site.
Kaggle CLI is installed as pip install kaggle and requires Python 3.11 or newer. Its capabilities are listed by the platform: listing competitions, downloading their data and submitting solutions; listing, creating, updating, downloading and deleting datasets; the same for models and their variations; listing, updating, running, downloading the code and the output of notebooks; reading forums. Authorisation: the web flow kaggle auth login, the environment variable KAGGLE_API_TOKEN, the file ~/.kaggle/access_token and the deprecated ~/.kaggle/kaggle.json; you can configure a default competition, a download folder and a proxy.
Accelerators for running a notebook are chosen with a parameter. The list as of February 2026: NvidiaTeslaP100, TpuV38, NvidiaTeslaT4, NvidiaTeslaT4Highmem, Tpu1VmV38, NvidiaTeslaA100, NvidiaL4, TpuV5E8, NvidiaL4X1, TpuV6E8, NvidiaH100, NvidiaRtxPro6000; and in the same place a caveat that is easy to miss: some of them are available only to entrants in particular competitions, and some only to Kaggle administrators. Execution time is capped by the --timeout parameter in seconds, and paging through output files is 20 files by default, 200 at most.
The kagglehub library gives access to datasets, models and notebook output straight from code. Its behaviour depends on where it runs: inside a Kaggle notebook the resource is attached to the notebook automatically, shown in the Input panel and served from a shared cache without taking up the virtual machine's disk; outside Kaggle the files are downloaded into a local cache. And from the same place: inside a Kaggle notebook authorisation is already done, and it is needed manually only for private resources and for public ones that require the user's consent.
There are no third-party scheduling tools that claim support for Kaggle — the platform is not about a publication feed.
Limits and rules
- Bot protection. The home page returns a reCAPTCHA check; at the address robots.txt there are no directives — an HTML page arrives instead. Reading the site automatically is in practice impossible without bypassing the protection, and bypassing it is not allowed.
- Accelerators. Some are available only to entrants in particular competitions or to administrators.
- Python version for the tool. No lower than 3.11.
- Dataset licences. The platform distinguishes CC, GPL, ODB and "other" — when publishing someone else's data you will have to state the licence explicitly.
- Competition rules. Set by the organiser separately for each contest; there is no general document on the pages available.
Who it's for
It suits data science and machine learning specialists ready to show results through work rather than text: a dataset, a notebook or a model counts for more here than a post. It suits career goals — the ranks are public, and some competitions are explicitly placed in the recruitment category. It suits companies that want to draw attention to a problem: a competition with a prize is a clear format, and the host is given a separate set of commands.
It does not suit content marketing in the usual sense: there is no publication feed here. It does not suit automation through third-party tools: the site is closed behind a browser check. It does not suit authors looking for regular income: it is not the platform that pays but the organiser of a particular competition.
Verified data
The checked data this deep dive rests on.
About the platform
the platform describes itself like this: «Discover what actually works in AI. Join millions of builders, researchers, and labs evaluating agents, models, and frontier technology through crowdsourced benchmarks, competitions, and hackathons.»
Self-description: this is the platform's claim about itself, not an independent assessment
source, checked 2026-07-28
the platform describes itself like this: «Kaggle is an online community for data scientists, machine learning practitioners, and AI developers»
The platform's claim about itself in the machine-readable site description, not an independent assessment
source, checked 2026-07-28
the platform lists its sections: competitions, datasets, the Notebooks environment, Models, Benchmarks, Learn courses
The platform's own list
source, checked 2026-07-28
the platform reports five progression tiers: from Novice to Grandmaster
Medal thresholds are not named on this page; the page kaggle.com/progression is unavailable to us
source, checked 2026-07-28
Sources diverge: DISCREPANCY WITH THE DATABASE: the about/self_description entry cites https://www.kaggle.com/, but as of the check date that address returns a reCAPTCHA check page rather than a description of the platform
The self-description text is confirmed via llms.txt; the entry's original address serves no content
source, checked 2026-07-28
Getting started
to work with the platform you need a Kaggle account: «First, you will need a Kaggle account. You can sign up here.»; the API key is issued after signing in, on the settings page
Kaggle's official command-line documentation in the platform's repository. Nothing is said in that document about a registration fee, about a check of an application or about moderation when an account is created
source, checked 2026-08-07
What you can publish
notebook languages in the filter: python, r, sqlite, julia; types: script and notebook
Taken from the filter parameters of the official CLI
source, checked 2026-07-28
dataset file types in the filter: csv, sqlite, json, bigQuery
source, checked 2026-07-28
Promotion
competition categories: featured, research, recruitment, gettingStarted, masters, playground
The recruitment category means competitions run for the sake of hiring
source, checked 2026-07-28
the sort orders by which the platform ranks: notebooks — hotness, commentCount, dateCreated, dateRun, relevance, score, viewCount, voteCount; datasets — hottest, votes, updated, active; models — hotness, downloadCount, voteCount, notebookCount, createTime
These are sort parameters, not a ranking formula: the platform does not publish the mechanics
source, checked 2026-07-28
How the money works here
a competition has a reward field, and the list can be sorted by prize
Prize figures are set by each competition's rules, and there is no single threshold
source, checked 2026-07-28
Limits and restrictions
the list of accelerators as of February 2026: NvidiaTeslaP100, TpuV38, NvidiaTeslaT4, NvidiaTeslaT4Highmem, Tpu1VmV38, NvidiaTeslaA100, NvidiaL4, TpuV5E8, NvidiaL4X1, TpuV6E8, NvidiaH100, NvidiaRtxPro6000
The documentation notes that some are available only to entrants in particular competitions, and some only to Kaggle administrators
source, checked 2026-07-28
paging of a notebook's output files: 20 files per page by default, 200 at most
source, checked 2026-07-28
the maximum execution time of a notebook is set by the --timeout parameter in seconds
The default value and the upper bound are not named by the documentation
source, checked 2026-07-28
Restrictions
the home page returns a browser check: the heading «Checking your browser - reCAPTCHA»
OUR measurement as of the check date. We do not bypass bot protection (spec 22 §0)
source, checked 2026-07-28
Legal
dataset licences in the filter: cc, gpl, odb, other
source, checked 2026-07-28
API access
the official tool is the Kaggle CLI, installed with the command pip install kaggle
Kaggle's official repository on GitHub
source, checked 2026-07-28
through the CLI you can: list competitions, download their data and submit solutions; create, update, download and delete datasets, models and variations; manage and run notebooks; read forums
The list of capabilities is given by the documentation itself
source, checked 2026-07-28
the CLI requires Python 3.11 or newer to run
source, checked 2026-07-28
four authorisation methods: kaggle auth login, the KAGGLE_API_TOKEN variable, the file ~/.kaggle/access_token, the deprecated ~/.kaggle/kaggle.json
source, checked 2026-07-28
the kagglehub library gives access to datasets, models and notebook output from code; inside a Kaggle notebook authorisation is already done
Kaggle's official repository
source, checked 2026-07-28
Languages
the interface language of the home page: en
The language is taken from the markup attribute, the versions from hreflang
source, checked 2026-07-28
Catalogue section: all similar See also: catalogue index · region: USA and Canada · scheduler comparison · find by situation · platform restrictions