Your first request
Four steps. The only one that needs a browser is creating the key.
1. Create a key
Go to nodedata.dev/dashboard/api-keys, pick the scopes you need, and copy the key. You will see the full value exactly once — only a hash is stored, so a lost key is replaced rather than recovered.
Start with models:read. You can create a second, wider key later; that's cheaper than over-granting the first one.
2. Put it in the environment
NODE_DATA_API_KEY=nd_live_your_key_hereNever prefix this with NEXT_PUBLIC_
NEXT_PUBLIC_ prefix inlines a value into the browser bundle. A secret key there is readable by every visitor. Call the API from server code, or proxy through your own route handler.3. Verify the key
curl https://www.nodedata.ai/api/v1/me \ -H "Authorization: Bearer $NODE_DATA_API_KEY"4. Do something real
Read the marketplace. This needs models:read, returns a cursor-paginated page, and is safe to call as often as you like.
1import { NodeData } from "@node-data/sdk";2 3const nd = new NodeData({ apiKey: process.env.NODE_DATA_API_KEY });4 5const page = await nd.models.list({ q: "manipulation", limit: 20 });6 7for await (const asset of page) {8 console.log(asset.slug, asset.price.amount / 100, asset.downloads);9}Iterating the page walks every subsequent page lazily. If you only want the first one, read page.items instead.
Installing the SDK
The client ships as a normal npm package with ESM and CommonJS entry points and bundled type declarations, published to the public registry as @node-data/sdk.
npm install @node-data/sdkPin the exact version in CI (@node-data/sdk@0.4.0). If you need an install with no registry access, the tarball this site builds is served at /node-data-sdk-latest.tgz and npm install takes that URL directly.
import { NodeData } from "@node-data/sdk";Or skip it entirely
fetch — the API is ordinary HTTP and JSON. The SDK saves you pagination, retries, error mapping, and webhook verification, not access.What to read next
- Authentication — scopes, modes, and key hygiene.
- Errors & retries — what to do with each status code.
- API playground — send a real request from the browser without writing any code.
- Unit 7 of the dev program — the same material as exercises, if that's how you learn.