Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.orbitsearch.com/llms.txt

Use this file to discover all available pages before exploring further.

The profile read endpoint returns a stable, public profile object for a given Orbit user. You get the profile ID from the userId field in smart 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.

Authentication

Include your developer API key in every request. The key must have the profile:read scope.
Authorization: Bearer sk_orb_...

Request

GET /v2/developer/profiles/:id

Path parameters

id
string
required
The profile ID to fetch. This is the userId value returned in the payload.users array from a Smart Search response.

Response

200 Success

{
  "status": "success",
  "payload": {
    "id": "usr_a1b2c3d4e5f6",
    "orbitId": "orbit-profile-id",
    "displayName": "Ada Lovelace",
    "avatarUrl": "https://...",
    "profileUrl": "https://orbitsearch.com/ada",
    "verified": true,
    "location": {
      "city": "San Francisco, CA, US"
    },
    "headline": {
      "jobTitle": "Founder",
      "companyName": "Example Co",
      "schoolName": "Example University"
    },
    "sections": {
      "basic": { "school": "Example University", "location": "San Francisco" },
      "personalLife": null,
      "jobs": null,
      "education": null,
      "passions": null,
      "worldview": null,
      "accomplishments": null,
      "controversies": null,
      "bestQualities": null,
      "netWorth": null,
      "portfolio": null,
      "families": null
    }
  }
}
status
string
required
Always "success" for a 200 response.
payload
object
required
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.

Credits

Each successful profile read costs 1 credit. Reads that return developer_profile_not_found or fail for other reasons are automatically refunded — you are only charged for profiles that are successfully returned.

Rate limits

120 requests per 60 seconds per API key. Rate limits are tracked per key, not per IP address. A 429 response does not consume credits.

Error responses

StatusCodeDescription
401missing_api_keyNo Authorization: Bearer sk_orb_... header was provided
402developer_api_credits_insufficientYour remaining credits are lower than the cost of a profile read
403invalid_api_keyThe key is malformed, revoked, expired, or unknown
403missing_api_key_scopeThe key does not have the profile:read scope
404developer_profile_not_foundThe profile ID does not resolve to a public Orbit profile. The read is refunded.
429developer_api_key_rate_limitedYou have exceeded 120 requests per 60 seconds for this API key

Code example

The example below shows the full search-to-profile-read flow: run a smart search, extract the first profile ID from the response, then fetch the full profile.
SEARCH_RESPONSE=$(
  curl -s -X POST "$API_BASE/v2/social/profiles/searches/smart" \
    -H "Authorization: Bearer sk_orb_REDACTED" \
    -H "Content-Type: application/json" \
    -d '{"query":"founders in sf","numUsers":10}'
)

PROFILE_ID=$(echo "$SEARCH_RESPONSE" | jq -r '.payload.users[0].userId')

curl "$API_BASE/v2/developer/profiles/$PROFILE_ID" \
  -H "Authorization: Bearer sk_orb_REDACTED"