nodedata.dev@node-data/sdk@0.4.0dev program · free forever

Build on the marketplace for physical AI.

A real TypeScript SDK, honest API tooling, and a gamified course on modern web development that costs nothing and always will. Everything you need to ship against Node Data — and to become the kind of developer who ships.

41

API endpoints

0

SDK dependencies

38

Free lessons

190

Exercises

The SDK

One install. Every endpoint. Zero dependencies.

Typed against the live API — cursor pagination, retries with jittered backoff, streaming inference, and webhook verification that runs on Node, Bun, Deno, Workers, and Vercel Functions.

  • Cursor pagination as a plain async iterable
  • Typed error classes carrying the API's stable error codes
  • Automatic retries on 429/5xx that honour Retry-After
  • Web Crypto webhook verification — no Node built-ins
  • Refuses to run a live key in a browser
list-models.ts
import { NodeData } from "@node-data/sdk";
const nd = new NodeData({ apiKey: process.env.NODE_DATA_API_KEY });
// Cursor pagination, handled for you
const page = await nd.models.list({ q: "manipulation", limit: 20 });
for await (const asset of page) {
console.log(asset.slug, asset.price.amount / 100, asset.downloads);
}

What's here

Four things, all of them real

No placeholder dashboards, no coming-soon tiles. Every tool on this site either talks to the live API or runs real code in your browser.

The Node Data Developer Program

Duolingo, but it teaches you to ship.

Most coding courses are forty-hour video walls you never finish. This is the opposite: two-minute lessons, one idea each, immediate feedback, and a streak you won't want to break.

2-minute lessons

One concept, five or six exercises, done before your coffee cools.

Streaks & XP

Daily goals, level-ups, and ranks named after rendering strategies.

Hearts

Five a session. Wrong answers cost one. They refill free — this is not a paywall.

Real code

JavaScript exercises execute in your browser, graded against real assertions.

API surface

Everything the platform exposes

Scoped bearer keys, cursor pagination, stable error codes, and an OpenAI-compatible inference endpoint.

Open the explorer
MethodPath
GET/me
GET/models
GET/models/{idOrSlug}
POST/models
PATCH/models/{idOrSlug}
DELETE/models/{idOrSlug}
GET/payouts
GET/usage
GET/webhook_endpoints
POST/webhook_endpoints
GET/webhook_endpoints/{id}
PATCH/webhook_endpoints/{id}
DELETE/webhook_endpoints/{id}
GET/webhook_endpoints/{id}/events
POST/uploads
GET/uploads
POST/models/{idOrSlug}/download
GET/datasets
POST/datasets
GET/datasets/{idOrSlug}
POST/datasets/{idOrSlug}/publish
GET/datasets/{idOrSlug}/shards
POST/datasets/{idOrSlug}/shards
GET/datasets/{idOrSlug}/shards/{name}
GET/listings
POST/listings
PATCH/listings/{idOrSlug}
POST/listings/{idOrSlug}/publish
POST/listings/{idOrSlug}/unpublish
GET/purchases
POST/purchases
GET/balance_transactions
GET/factory/jobs
POST/factory/jobs
GET/factory/jobs/{id}
POST/factory/jobs/{id}/approve
POST/factory/jobs/{id}/clarify
POST/factory/jobs/{id}/publish
POST/factory/jobs/{id}/regenerate
GET/inference/models
POST/chat/completions

Two commands and you're building.

Create a key on nodedata.ai, wire up the client, make your first request. The rest of this site is here for when you get stuck — or bored.

psst — press ⌘K. or the up arrow. twice.