Public APIs
Kaggle favicon

Kaggle

Open Data

Create and interact with Datasets, Notebooks, and connect with Kaggle.

Kaggle's website screenshot

About Kaggle

Kaggle provides programmatic access to its platform through two tools: the kaggle CLI, a command-line interface for interacting with Kaggle via terminal commands or shell scripts, and kagglehub, a Python library for integrating Kaggle resources such as models, datasets, and competitions into Python machine learning workflows.

Authentication is available either through an OAuth flow using the kaggle CLI's login command, or via an API key generated from the account's API tokens settings page.

The API applies dynamic rate limiting across both the public API and the kaggle.com website. Requests that return an HTTP 429 "Too many requests" error can be retried after a pause; Kaggle also recommends reviewing client code for unintended loops or redundant calls, and reporting suspected platform-side rate-limiting bugs through the Product Feedback forum.

Key features

  • Command-line interface (kaggle CLI) for interacting with Kaggle from a terminal or shell script
  • kagglehub Python library for integrating Kaggle datasets, models, and competitions into ML workflows
  • OAuth authentication via kaggle auth login
  • API key generation from account API tokens settings page
  • Dynamic rate limiting on both the public API and website calls

Frequently asked questions

How do I authenticate with the Kaggle API?

You can authenticate via an OAuth flow using kaggle auth login for the CLI, or create an API key from your Kaggle account API tokens settings page.

What tools are available for programmatic access to Kaggle?

Kaggle offers the kaggle CLI for command-line interaction and kagglehub, a Python library for integrating Kaggle resources into ML workflows.

What happens if I exceed Kaggle's API rate limits?

You may encounter an HTTP 429 'Too many requests' error, and Kaggle recommends pausing and retrying later or reviewing your code for unintended loops or redundant calls.

Is kagglehub only for Python users?

Yes, kagglehub is a Python library designed for seamless integration into Python ML workflows.

Advertise here

Featured products

  • SerpApi - Search API favicon
  • Screenshot Scout favicon
  • TalorData favicon
  • CoreClaw favicon

Show your product to thousands of developers

· 100k monthly pageviews
· 7k newsletter subscribers

Advertise your product