API for developers

Connect directly to your datasets in YoDataSet.

Generate an API key

Keys start with yodk_.

Quick start

Create an API key under Settings → API Keys in the dashboard.

Use the /api/datasets and /api/datasets/{id} endpoints to list datasets and fetch cleaned content.

import requests

API_KEY = 'yodk_...'
BASE = 'https://data-forge-jet.vercel.app'
headers = {'Authorization': f"Bearer {API_KEY}"}

datasets = requests.get(BASE + '/api/datasets', headers=headers).json()
ds = datasets[0]
data = requests.get(BASE + '/api/datasets/' + ds['id'] + '?format=json', headers=headers).json()
# data now contains cleanedContent you can pass to a model
const res = await fetch('/api/datasets', {
  headers: {Authorization: "Bearer {API_KEY}"}
});
const datasets = await res.json();
const ds = datasets[0];
const data = await (await fetch('/api/datasets/' + ds.id + '?format=json', {
  headers: {Authorization: "Bearer {API_KEY}"}
})).json();

Endpoints

POST/api/upload

Upload a single file for cleaning.

GET/api/datasets

List all datasets for the authenticated user.

GET/api/datasets/{id}

Get a dataset with files and cleaned content (JSON or CSV).

POST/api/datasets

Create a new empty dataset.

GET/api/projects

List the authenticated user's projects.

POST/api/projects

Create a new project.

GET/api/jobs

Poll batch processing status.

POST/api/export

Generate a dataset export and Data Card.

GET/api/download

Download a cleaned dataset as a zip.

GET/api/keys

List API keys for the current user.

POST/api/keys

Create a new API key.

DELETE/api/keys/{id}

Revoke an API key.

Ready to build?

Create an account and start building.

Need something custom?

We work with research labs, NGOs, and government bodies on tailored data-cleaning pipelines and private deployments.