For Agents
Drive Kaggle competitions, datasets, notebooks (kernels), and models from code: list, download, submit, push, and pull resources via 25 REST endpoints.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Kaggle API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Kaggle API.
List and download competition data files and submit predictions through /competitions/* endpoints
View and download competition leaderboards via /competitions/{id}/leaderboard/view and /download
List, download, create, version, and delete datasets through /datasets/* endpoints
GET STARTED
Use for: I need to download a Kaggle dataset for training, Submit a predictions file to a competition, Push my notebook to Kaggle, Get the leaderboard for a competition
Not supported: Does not handle Kaggle Discussions, user account administration, or paid model hosting — use for competition, dataset, kernel, and model resource management only.
Jentic publishes the only available OpenAPI specification for Kaggle API, keeping it validated and agent-ready. The Kaggle API gives programmatic access to Kaggle competitions, datasets, notebooks (kernels), and models. Across 25 endpoints it lists and downloads competition data and submissions, manages datasets and dataset versions, pushes and pulls kernels, retrieves kernel outputs and execution status, and creates or updates models. Authentication uses HTTP Basic with the Kaggle username and API key, the same credentials produced by the official Kaggle CLI.
Push and pull kernels (notebooks), inspect their execution status, and retrieve their outputs via /kernels/* endpoints
List, retrieve, create, update, and delete models through /models/* endpoints
Inspect dataset metadata before downloading large archives with GET /datasets/view/{ownerSlug}/{datasetSlug}
Patterns agents use Kaggle API for, with concrete tasks.
★ Automated Competition Submission Loop
ML engineers training models for an active competition need a tight loop that submits the latest predictions and reads the resulting leaderboard position. POST /competitions/submissions/submit/{id} uploads the predictions file and GET /competitions/{id}/leaderboard/view returns the current ranking. This replaces dragging files into the web UI on every iteration.
After each training run, call POST /competitions/submissions/submit/{competition_id} with the predictions file and GET /competitions/{competition_id}/leaderboard/view to log the new rank.
Dataset Versioning Pipeline
Teams publishing reusable datasets on Kaggle script the version bump rather than uploading manually. POST /datasets/create/version/{ownerSlug}/{datasetSlug} pushes a new version with a changelog message, while GET /datasets/view/{ownerSlug}/{datasetSlug} confirms metadata. CI then validates schema and triggers downstream notebooks.
After data validation passes, call POST /datasets/create/version/{ownerSlug}/{datasetSlug} with the new files and a versionNotes message.
Kernel-Based Reproducible Reports
Analytics teams using Kaggle kernels (notebooks) for shareable reports use POST /kernels/push to upload a new version, GET /kernels/status/{ownerSlug}/{kernelSlug} to wait for execution, and GET /kernels/output/{ownerSlug}/{kernelSlug} to retrieve charts and CSVs once the run completes. This keeps the reporting cycle reproducible and auditable.
Call POST /kernels/push with the notebook payload, poll GET /kernels/status/{ownerSlug}/{kernelSlug} until status is 'complete', then call GET /kernels/output/{ownerSlug}/{kernelSlug}.
Agent-Driven Competition Research
An AI assistant exploring a problem space can list competitions, pull a relevant dataset, and start a notebook run via Jentic. The agent searches 'list Kaggle competitions', loads /competitions/list, and chains to /datasets/download/{ownerSlug}/{datasetSlug} for the underlying data. This puts a full ML research kickoff behind a chat prompt.
Through Jentic, search 'list active Kaggle competitions', call GET /competitions/list, pick a relevant competition, then call GET /competitions/data/list/{competition_id}.
25 endpoints — jentic publishes the only available openapi specification for kaggle api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/competitions/list
List competitions
/competitions/submissions/submit/{id}
Submit predictions to a competition
/competitions/{id}/leaderboard/view
View competition leaderboard
/datasets/download/{ownerSlug}/{datasetSlug}
Download a dataset
/datasets/create/new
Create a new dataset
/datasets/create/version/{ownerSlug}/{datasetSlug}
Create a dataset version
/kernels/push
Push a kernel
/kernels/status/{ownerSlug}/{kernelSlug}
Get kernel execution status
/competitions/list
List competitions
/competitions/submissions/submit/{id}
Submit predictions to a competition
/competitions/{id}/leaderboard/view
View competition leaderboard
/datasets/download/{ownerSlug}/{datasetSlug}
Download a dataset
/datasets/create/new
Create a new dataset
Three things that make agents converge on Jentic-routed access.
Credential isolation
Kaggle username and API key are stored in Jentic's encrypted vault as Basic auth. Agents call Kaggle operations using a scoped session reference, so the raw API key never enters prompts or logs.
Intent-based discovery
Agents search by intent (e.g. 'submit predictions to a Kaggle competition' or 'download a Kaggle dataset') and Jentic returns the matching Kaggle operation and its input schema, so the agent skips the CLI and docs.
Time to first call
Direct Kaggle integration: 1-2 days to wire Basic auth, multipart uploads, and the kernel status polling loop. Through Jentic: under 1 hour to search, load schema, and execute the first dataset download or submission.
Alternatives and complements available in the Jentic catalogue.
GitHub API
GitHub holds the training code that produces submissions to Kaggle competitions.
Use GitHub for source-controlled model code and Kaggle for the dataset and submission surface; trigger pushes from CI on tagged commits.
Specific to using Kaggle API through Jentic.
Why is there no official OpenAPI spec for Kaggle API?
Kaggle does not publish an OpenAPI specification (the official integration is the Kaggle CLI). Jentic generates and maintains this spec so that AI agents and developers can call Kaggle API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Kaggle API use?
The Kaggle API uses HTTP Basic authentication with your Kaggle username and API key (the same credentials downloaded from the Account page as kaggle.json). Through Jentic these credentials sit in the encrypted vault and are injected at request time.
Can I submit predictions to a competition with the Kaggle API?
Yes. POST /competitions/submissions/submit/{id} uploads a predictions file to the named competition, and GET /competitions/submissions/list/{id} lists prior submissions. The leaderboard is then available via GET /competitions/{id}/leaderboard/view.
What are the rate limits for the Kaggle API?
Kaggle does not document strict per-endpoint rate limits in the spec but throttles abusive usage. Treat 429 responses with exponential backoff and avoid tight polling on /kernels/status/{ownerSlug}/{kernelSlug}.
How do I download a Kaggle dataset through Jentic?
Search Jentic for 'download a Kaggle dataset', load GET /datasets/download/{ownerSlug}/{datasetSlug}, and execute with the owner and dataset slugs. Jentic resolves Basic auth and streams the dataset archive.
Can I push and run a notebook (kernel) on Kaggle?
Yes. POST /kernels/push uploads a kernel, GET /kernels/status/{ownerSlug}/{kernelSlug} reports execution status, and GET /kernels/output/{ownerSlug}/{kernelSlug} returns the produced files once the run completes.
/datasets/create/version/{ownerSlug}/{datasetSlug}
Create a dataset version
/kernels/push
Push a kernel
/kernels/status/{ownerSlug}/{kernelSlug}
Get kernel execution status