One REST API for all of revenue
import { g8 } from "@graph8/sdk" const { data, next } = await g8.contacts .search({ title: "VP Sales", intent: "high" })data[0].email // enriched, verified Contacts returned, typed
Ready to reach
email + direct dial, verified
enriched in the same call
- Base URL:
https://be.graph8.com/api/v1 - Auth:
Authorization: Bearer YOUR_API_KEY(details) - Format: JSON request/response
- Rate limit: 50 req/s + 1,000 req/min per org (details)
- Docs: Interactive Swagger →
From the developer docs: Quick Reference
Built the way you expect an API to behave.
Four rules hold across every resource, so what you learn on contacts is what you already know on campaigns and events.
REST
Predictable, resource-oriented URLs with standard verbs and status codes.
OpenAPI
A full spec you can codegen clients, mocks, and docs from.
Cursor pagination
Stable, forward-only paging that never skips or repeats a row.
Idempotency keys
Retry any write safely. Same key, same result, no duplicates.
Curl it in seconds.
Pass your key and org id, hit the workspace base URL, and get a clean JSON list back with a cursor for the next page. Every sample keeps the same shape.
Read the docscurl $GRAPH8_API_BASE/v1/contacts?title=VP+Sales \ -H "Authorization: Bearer $GRAPH8_API_KEY" \ -H "X-Org-Id: $GRAPH8_ORG_ID" { "object": "list", "data": [ { "id": "con_8Qx2", "name": "Jordan Lee", "title": "VP Sales", "company": "Northwind" } ], "next_cursor": "cur_91Bd"} A preview of the surface area.
The full reference, with every resource and field, lives in the docs.
/v1/contacts Search and list verified contacts /v1/contacts Create a contact record /v1/companies Search firmographic company data /v1/campaigns Create a multichannel campaign /v1/campaigns/{id}/launch Launch a drafted campaign /v1/events Stream the platform event firehose Preview the shapes now. Get your endpoint when your workspace is approved.
Read the reference, generate a client from the OpenAPI spec, and wire it to sandbox data before production access is granted.