Get a profile
Fetch the public profile DTO for a single Orbit user by ID. Use profile IDs returned from search results to retrieve structured profile data.
GET
The profile read endpoint returns a stable, public profile object for a given Orbit user. You get the profile ID from the
id field in search results, then call this endpoint to retrieve structured data including display name, location, headline, and profile sections. Each successful read costs 1 credit. Reads that return a not-found response or fail for other reasons are automatically refunded.
Requests authenticate with a developer API key that has the profile:read scope. See Authentication.
Path parameters
The profile ID to fetch. This is the
id value returned in the payload.users array from a Search response.Response
Always
"success" for a 200 response.The profile DTO is an allowlisted public shape. It does not expose raw contact details, phone numbers, full enrichment records, internal moderation or admin metadata, raw profile-owner widgets, or profile-owner-only progress fields.
Profile ID canonicalization
Profile reads accept IDs returned from Search, Deep Search, and previous profile reads. All of those IDs remain valid. If the requested ID is an alias for an existing identity, Orbit resolves the alias and returns the canonical public profile. This means the ID in the request path and the identifiers in the response may not be identical. You can safely read either the alias ID or the canonical ID. Treatpayload.id as the canonical public profile ID after every successful
read, and prefer it for new writes or normalized storage.
Alias resolution is transparent. The response does not include separate
requestedId, aliasOrbitId, or canonicalOrbitId fields.
Credits
Each successful profile read costs 1 credit. Reads that returndeveloper_profile_not_found or fail for other reasons are automatically refunded — you are only charged for profiles that are successfully returned.
Rate limits
50 requests per second per API key, with bursts up to 250 requests. Rate limits are tracked per key, not per IP address. A429 response does not consume credits.
Error responses
| Status | Code | Description |
|---|---|---|
401 | missing_api_key | No Authorization: Bearer sk_orb_... header was provided |
402 | developer_api_credits_insufficient | Your remaining credits are lower than the cost of a profile read |
403 | invalid_api_key | The key is malformed, revoked, expired, or unknown |
403 | missing_api_key_scope | The key does not have the profile:read scope |
404 | developer_profile_not_found | The profile ID does not resolve to a public Orbit profile. The read is refunded. |
429 | developer_api_key_rate_limited | You have exceeded the Profile Read rate limit for this API key |
