Skip to main content
GET
/
v2
/
developer
/
profiles
/
{id}
curl "https://api.orbitsearch.com/v2/developer/profiles/usr_a1b2c3d4e5f6" \
  -H "Authorization: Bearer sk_orb_REDACTED"
{
  "status": "success",
  "payload": {
    "id": "orbit-profile-id",
    "displayName": "Ada Lovelace",
    "personName": "Ada Lovelace",
    "aliases": ["Ada Byron", "Countess Ada"],
    "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": {
        "items": [
          {
            "kind": "school",
            "title": "Graduated from Example University in 2018",
            "school": "Example University",
            "year": 2018
          },
          {
            "kind": "location",
            "title": "San Francisco, CA",
            "location": "San Francisco, CA"
          }
        ]
      },
      "personalLife": null,
      "images": {
        "items": [
          {
            "id": "image-1",
            "imageUrl": "https://...",
            "role": "primary",
            "type": "default",
            "question": "profile photo",
            "sources": []
          },
          {
            "id": "image-2",
            "imageUrl": "https://...",
            "role": "social_media",
            "sources": []
          }
        ]
      },
      "jobs": null,
      "education": null,
      "passions": null,
      "worldview": null,
      "accomplishments": null,
      "controversies": null,
      "bestQualities": null,
      "netWorth": null,
      "portfolio": null,
      "families": null,
      "mediaCredits": {
        "items": [
          {
            "kind": "media_credit",
            "title": "Example Documentary",
            "mediaType": "movie",
            "releaseDate": "2025-03-01",
            "roleType": "cast",
            "roleName": "Self"
          }
        ]
      },
      "musicCredits": {
        "items": [
          {
            "kind": "music_credit",
            "title": "Example Album",
            "releaseType": "Album",
            "firstReleaseDate": "2024-08-23",
            "creditName": "Example Artist",
            "role": "artist",
            "relationship": "artist"
          }
        ]
      }
    }
  }
}
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.
curl "https://api.orbitsearch.com/v2/developer/profiles/usr_a1b2c3d4e5f6" \
  -H "Authorization: Bearer sk_orb_REDACTED"
{
  "status": "success",
  "payload": {
    "id": "orbit-profile-id",
    "displayName": "Ada Lovelace",
    "personName": "Ada Lovelace",
    "aliases": ["Ada Byron", "Countess Ada"],
    "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": {
        "items": [
          {
            "kind": "school",
            "title": "Graduated from Example University in 2018",
            "school": "Example University",
            "year": 2018
          },
          {
            "kind": "location",
            "title": "San Francisco, CA",
            "location": "San Francisco, CA"
          }
        ]
      },
      "personalLife": null,
      "images": {
        "items": [
          {
            "id": "image-1",
            "imageUrl": "https://...",
            "role": "primary",
            "type": "default",
            "question": "profile photo",
            "sources": []
          },
          {
            "id": "image-2",
            "imageUrl": "https://...",
            "role": "social_media",
            "sources": []
          }
        ]
      },
      "jobs": null,
      "education": null,
      "passions": null,
      "worldview": null,
      "accomplishments": null,
      "controversies": null,
      "bestQualities": null,
      "netWorth": null,
      "portfolio": null,
      "families": null,
      "mediaCredits": {
        "items": [
          {
            "kind": "media_credit",
            "title": "Example Documentary",
            "mediaType": "movie",
            "releaseDate": "2025-03-01",
            "roleType": "cast",
            "roleName": "Self"
          }
        ]
      },
      "musicCredits": {
        "items": [
          {
            "kind": "music_credit",
            "title": "Example Album",
            "releaseType": "Album",
            "firstReleaseDate": "2024-08-23",
            "creditName": "Example Artist",
            "role": "artist",
            "relationship": "artist"
          }
        ]
      }
    }
  }
}

Path parameters

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

Response

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.

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. Treat payload.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 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

50 requests per second per API key, with bursts up to 250 requests. 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 the Profile Read rate limit for this API key

Search-to-read flow

The example below shows the full flow: run a search, extract the first profile ID from the response, then fetch the full profile.
SEARCH_RESPONSE=$(
  curl -s -X POST "https://api.orbitsearch.com/v2/developer/search" \
    -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].id')

curl "https://api.orbitsearch.com/v2/developer/profiles/$PROFILE_ID" \
  -H "Authorization: Bearer sk_orb_REDACTED"