Everything in Vamo is available over the API. Every endpoint below documents its access requirements, credit cost, and rate limits alongside its schemas.
The Vamo API is the control plane for GitHub developer search, enrichment, and outreach automation. Search for developers by what they have actually built, resolve GitHub or LinkedIn identities to full profiles, enrich them with contact data, and run automated outreach sequences.
https://api.vamotalent.ai
Every non-public endpoint takes a bearer credential:
Authorization: Bearer vamo_sk_...
API keys are prefixed vamo_sk_ and are scoped to one account. Mint and manage them with the Keys endpoints (POST /v1/keys, GET /v1/keys, rotate, revoke). Humans signed in to the Vamo app use session tokens over the same header; keys and sessions follow one usage model.
Status codes are precise: 401 no or invalid credential, 403 your role lacks the required entitlement, 402 your plan lacks the capability (upgrade), 429 a rate limit or usage quota is exhausted.
Operations are priced in credits from a pooled account balance. Every operation declares its own price, and the published spec carries it two ways: a machine-readable x-vamo block on each operation (access, pricing, rate limit, quota) and a one-line policy footer at the end of each operation description. Read your balance at GET /v1/account/credits and your allowances at GET /v1/quotas before spending.
GET /v1/pricing/catalog is public and free. It returns the plans, the dollars-per-credit rate (creditUsd), and the per-facet price table with what each facet gives you, so you can price a request before sending it. Facet prices there are read from the same catalog the biller charges from.
Every endpoint declares its own fixed-window rate limit, scoped per account, per actor, or per IP. The exact limit and window are in the operation's x-vamo.rateLimit block. Exceeding a limit returns 429.
Resolve identity inputs to full developer profiles. An input is any human identifier: a handle, a GitHub or LinkedIn URL, a person's name, or a repo. You are billed 1 credit per input that resolves to a developer; ambiguous and not_found inputs cost nothing.
curl -X POST https://api.vamotalent.ai/v1/developers \
-H "Authorization: Bearer vamo_sk_..." \
-H "Content-Type: application/json" \
-d '{"inputs": ["torvalds"]}'Every request is authenticated with an API key passed as a bearer token. Create a key from
your workspace settings, then send it in the Authorization header:
-H 'Authorization: Bearer vamo_sk_YOUR_KEY'Execute developer searches: describe who you are looking for and get ranked GitHub developers.
/v1/searches/execute Execute a search/v1/searches/run Run a search plan/v1/searches/plan Plan a search from natural language/v1/searches/compile Compile a role brief into a search config/v1/search/capabilities Search capabilities/v1/searches/angles Angles to Search GitHub with/v1/search/steering List steering notes/v1/search/steering Record a steering verdict/v1/search/steering Clear a steering noteDeveloper profiles: reverse lookup, direct hydration, inline sync/cached facets, durable enrichment reports, and profile reads.
/v1/developers/reports Request a developer enrichment report (async compute)/v1/developers/reports/{reportId} Retrieve a developer enrichment report by id/v1/developers Resolve developers and (optionally) return sync/cached facets/v1/developers/lookup Reverse developer lookup (deprecated alias of POST /v1/developers)/v1/developers/{id}/similar Find developers similar to one developer/v1/developers/{developerId} Get a developerDeep research: full-depth GitHub research on a developer, persisted as a report the whole account can read. Jobs run in rounds and report per-subject outcomes, so a partial result is a normal answer rather than an error.
Saved search configurations you can re-run.
Contact records for developers you are reaching out to. A contact carries no labels or tags: group contacts with projects and shortlists, which are the grouping primitives. There is no update endpoint either, so do not encode a grouping into a field like sourceDetail, which is provenance.
/v1/contacts List contacts/v1/contacts Add contacts/v1/contacts/{id} Get a contact/v1/contacts/save-developers Save developers as contacts/v1/contacts/remove Remove contacts/v1/contacts/do-not-contact Set do-not-contact/v1/contacts/hidden Hide or unhide contacts/v1/contacts/import Import contactsAccount-level rules that govern automated outreach.
Connected sending mailboxes (OAuth grants) used by outreach.
Projects: a role you are hiring for, holding its context, searches, and outreach.
/v1/projects List projects/v1/projects Create a project/v1/projects/{id} Get a project/v1/projects/{id} Update a project/v1/projects/{id} Delete a project/v1/projects/{id}/shortlists Link a shortlist to a project/v1/projects/{id}/shortlists/{shortlistId} Unlink a shortlist from a project/v1/projects/{id}/brief Get the project brief/v1/projects/{id}/brief Create the project brief/v1/projects/{id}/candidates Get a project first-round candidates/v1/projects/{id}/search-suggestions Auto-suggested search angles for a projectAgents: dispatch background jobs and read their results.
Project context entries: the facts and preferences that steer search and outreach.
/v1/account/profile Get the account company profile/v1/account/profile Update the account company profile/v1/account/profile/populate Populate the account company profile/v1/me/profile Get my profile/v1/me/profile Update my profile/v1/companies List client companies/v1/companies Create a client company/v1/companies/{id} Get a client company profile/v1/companies/{id} Update a client company profile/v1/companies/{id}/notes List company notes/v1/companies/{id}/notes Add a company note/v1/notes/{noteId} Delete a note/v1/projects/{id}/profile Get a project role profile/v1/projects/{id}/profile Update a project role profile/v1/projects/{id}/notes List project notes/v1/projects/{id}/notes Add a project note/v1/me/notes List my notes/v1/me/notes Add a note on myselfWho am I: the calling principal, its entitlements, and its quota allowances.
API keys: mint, list, rotate, and revoke vamo_sk_ keys for agents and integrations.
Webhook endpoints and deliveries for account events.
/v1/webhooks List webhook endpoints/v1/webhooks Create a webhook endpoint/v1/webhooks/{id}/deliveries List webhook deliveries/v1/webhooks/{id}/test Send a test ping/v1/webhooks/{id} Read a webhook endpoint/v1/webhooks/{id} Update a webhook endpoint/v1/webhooks/{id} Delete a webhook endpointPublic pricing: the sellable plans, the dollars-per-credit rate, and the per-facet price table. No credential required.
Plans and subscription state.
The credit balance, ledger, spending caps, and top-ups for the account.
/v1/projects/{id}/attachments List project attachments/v1/projects/{id}/attachments Create a project attachment/v1/account/attachments List account attachments/v1/account/attachments Create an account attachment/v1/companies/{id}/attachments List company attachments/v1/companies/{id}/attachments Create a company attachment/v1/attachments/{attachmentId} Delete an attachment/v1/search/jobs List the account’s deep-search jobs/v1/search/jobs Submit a deep (async) search job with a fill-to-target guarantee/v1/search/jobs/{id} Poll a deep-search job/v1/search/jobs/{id}/more Page the next round of a deep-search job/v1/search/jobs/{id}/feedback Leave a thumbs verdict on a delivered developer/v1/shortlists List shortlists/v1/shortlists Create a shortlist/v1/shortlists/{id} Get a shortlist/v1/shortlists/{id} Update a shortlist/v1/shortlists/{id} Delete a shortlist/v1/shortlists/{id}/members Add shortlist members/v1/shortlists/{id}/members/remove Remove shortlist members/v1/shortlists/{id}/members/move Move shortlist members/v1/shortlists/{id}/members/pin Pin a member’s repository/v1/shortlists/{id}/members/copy Copy shortlist members© 2026 Vamo Holdings, Inc.