Skip to content
Getting started

Quickstart

Make your first call in under two minutes with a test key.

Three steps: create a test key, install the SDK, fetch a profile. Test keys work immediately after sign-up and return clearly labelled sandbox data, so you can build the whole integration before you ever touch live data.

Create a test key

Create an account. Sign-up gives you an organization and a first project. Open API Keys, choose Create API key, keep the TEST environment and the default read scopes.

The secret is shown once. Copy it now. You won't be able to view it again; FomoData stores only a hash.

Terminal
export FOMODATA_API_KEY="fd_test_…"

The SDK reads FOMODATA_API_KEY and talks to https://fomodata.dev/v1. Self-hosting? Set FOMODATA_API_BASE_URL or pass baseUrl to new FomoData().

Install the SDK

Terminal
npm install https://fomodata.dev/sdk/fomodata-sdk-0.1.0.tgz

The npm package is coming soon. Until then, install the same build straight from this server; the tarball is the published package shape.

Fetch a profile

With a test key, use a sandbox handle such as @sbx_milo. Sandbox handles always start with @sbx_.

import { FomoData } from "@fomodata/sdk";

const fomo = new FomoData({ apiKey: process.env.FOMODATA_API_KEY });

const profile =
  await fomo.profiles.get("@sbx_milo");

console.log(profile.handle, profile.livemode); // "@sbx_milo" false
200 OK · application/jsonSandbox
{
  "object": "profile",
  "id": "fp_4KZq8mXw2T0aN6rB1cYd9E",
  "handle": "@sbx_milo",
  "display_name": "Milo (sandbox)",
  "avatar_url": null,
  "profile_url": null,
  "bio": "Speedruns every new course the day it drops. Sandbox test profile — not a real Fomo user.",
  "verified": false,
  "source": "sandbox",
  "livemode": false,
  "created_at": null,
  "first_seen_at": "2026-10-07T09:00:00.000Z",
  "updated_at": "2026-10-07T10:00:00.000Z",
  "source_updated_at": null
}

That's the first call. Every response carries an X-FomoData-Request-Id header; include it if you ever contact support.

Going live

Live keys (fd_live_…) return real Fomo data through FomoData's authorized upstream integration. During the private beta, live access is granted per project by approval: request it from the project settings page. Once approved, the same code works with a live key and a real handle:

live.ts
const profile = await fomo.profiles.get("@milo");

Same code, different key

Nothing in your code changes between environments. The key decides which data you see, and every object tells you which one it is via livemode and source.

Next steps