π Data Endpoints
The live data plane: search and read people, projects, and investors, and run a cross search. Every endpoint is GET, returns JSON, and costs 5 credits per call (a private contact reveal costs 10, once). Auth and shared conventions are in the Endpoint Reference.
Status: private beta. See Roadmap & Availability.
Shared shape. List endpoints return { data, total, page, totalPages, meta }. Single reads return the object plus meta. meta is { creditsCharged, creditsBalance }. Lists accept page and limit (default 30, max 100).
People
GET /api/v1/people
Search and filter people. Scope read:metadata. 5 credits.
- Query:
q(name / handle / title),contactType(analyst|team),roles(comma-separated),channels(comma-separated),sort(recent|name),page,limit. Passinginclude=privatehere is rejected with400by design: reveal one contact at a time on the detail route. - Each record:
id,firstName,lastName,jobTitle,twitterHandle,avatarUrl,companyId,company(nested object ornull),createdAt, and the lock flagsisLocked,hasEmail,hasPhone,hasTelegram,hasLinkedin. The private fieldsemail,phone,telegram,linkedinUrlare alwaysnullon the list. - Also returns
facets: { roles, channels }to drive filter UIs.
GET /api/v1/people/{id}
A full profile plus coworkers. Scope read:metadata; the reveal needs read:contacts. 5 credits, or 10 the first time you reveal private channels.
- Query:
include=privaterevealsemail,phone,telegram,linkedinUrl. The reveal is a permanent unlock: later reads of the same contact cost 5 and keep the channels. - Returns
data: { person, coworkers[] }. Thehas*flags tell you which channels exist before you pay to reveal them. On a self-billed reveal,creditsChargedandcreditsBalancesit at the top level.
Projects
GET /api/v1/projects
Search and filter projects. 5 credits.
- Query:
q,sector(repeatable),token(launched|pre),sort(recent|name),page,limit. - Each record:
id,name,slug,domain,sectors[],size,logoUrl,twitterHandle,communityLink,tokenLaunched,tokenLink,aiSummary,followers,handleHistory,twitterRisk,createdAt.
GET /api/v1/projects/{id}
One project with its team. 5 credits. Returns { project, team[] }. Team members show private channels only for contacts you have already unlocked.
Investors
GET /api/v1/investors
Search and filter funds. 5 credits.
- Query:
q,fundType,trustTier,sort(portfolio|roi|name|recent),page,limit. - Each record:
id,name,slug,logoUrl,domain,linkedinUrl,discordUrl,twitterHandle,communityLink,fundType,fundAllTimeRoiPct,trustTier,trustTierRank,aiSummary,followers,handleHistory,twitterRisk,altRoles[],portfolioCount,createdAt.
GET /api/v1/investors/{slug}
One fund, keyed by slug (not id). 5 credits. Returns { investor, team[], portfolio[] }. Each portfolio row: investmentId, company, roundType, roundEventName, amountUsd, announceDate, isLead.
Search
GET /api/v1/search?q=...
Cross search across projects and people. q is required (400 if missing). 5 credits. Returns { q, projects[], people[], meta } with up to 12 of each. People channels stay locked; reveal a person via /v1/people/{id}?include=private.
Network (planned)
A graph endpoint, the connections and warm paths behind the app's Network view, is planned and not yet live. Track it on the Roadmap & Availability page.