This guide takes you from zero to your first successful waypoints API call. No prior setup needed — just a GitHub or Google account and five minutes.
Step 1 — Sign up
Go to waypoints.tech/signup and sign in with GitHub or Google. No email/password — OAuth only. You'll land directly in your dashboard with 500 free credits already loaded on the Free plan.
Want more to experiment with? Start a 7-day Starter trial from the billing page — 15,000 credits, no card required.
Step 2 — Get your API key
Navigate to API Keys in the dashboard sidebar. Click Create key, give it a label (e.g. "local dev"), and copy the key. It starts with wp_live_.
Step 3 — Install the SDK
npm install @waypoints/sdkThe SDK is TypeScript-first, fully typed, and targets Node.js 18+. It works in any JavaScript runtime — Node, Deno, Bun, Cloudflare Workers — anywhere the native fetch API is available.
Step 4 — Initialise the client
import waypoints from "@waypoints/sdk";
const wp = new waypoints({
apiKey: process.env.WAYPOINTS_API_KEY!, // wp_live_...
});Store your key in a .env.local file and never commit it to version control. The SDK reads the key from the constructor — it is not read from environment variables automatically so you stay in control.
Step 5 — Make your first call
Let's take a screenshot of any public URL:
const result = await wp.render.screenshot({
url: "https://example.com",
width: 1280,
height: 800,
format: "png",
fullPage: false,
});
// result.url — presigned MinIO URL (valid for 24h)
// result.expires_at — ISO timestamp when the URL expires
// result.credits_used — 2
// result.request_id — "req_01jx..." (for debugging)
console.log(result.url);That's it. The response contains a presigned URL pointing to the PNG stored in MinIO on our EU VPS. The URL is valid for 24 hours — enough time to deliver it to your user, store it yourself, or attach it to a document.
Want to try without deducting credits? Swap your wp_live_ key for a wp_test_ sandbox key — sandbox calls are free and return realistic mock responses.
Step 6 — Check your dashboard
Head back to your dashboard to see:
- Credit balance and a chart of usage over time
- The request you just made — module, endpoint, status, duration, and credits consumed
- Per-module breakdown — Render, Convert, Extract, Verify, Send
From here you can create additional API keys, set key labels, and view or revoke any key. Each request log includes the full request_id — include it when contacting support and we can trace exactly what happened.
You're up and running. Explore the other four modules in the API docs — each follows the same pattern: one endpoint, consistent error format, consistent credit response.