Profiles
Overview
The Profiles API allows you to access user profile information within the Ethos network. It provides endpoints for querying individual profiles, recent profiles, directory listings, and various leaderboards.
Endpoints
Query Profiles
Description: Retrieves profile information for the specified profile IDs or addresses.
Authentication Required: No
Parameters
Request Body
ids
array of numbers
No*
Array of numeric profile IDs to query (maximum 100)
addresses
array of strings
No*
Array of Ethereum addresses to query (maximum 100)
archived
boolean
No
Whether to include archived profiles
useCache
boolean
No
Whether to use cached results (defaults to true)
pagination
object
Yes
Pagination parameters
pagination.limit
number
Yes
Number of results to return (maximum 100)
pagination.offset
number
Yes
Offset for pagination
*At least one of ids
or addresses
must be provided.
Responses
Success Response
Code: 200 OK
ok
boolean
Success status
data
object
Response data container
data.values
array
Array of profile objects
data.values[].id
number
Unique profile ID
data.values[].archived
boolean
Whether the profile is archived
data.values[].createdAt
number
Unix timestamp of when the profile was created
data.values[].updatedAt
number
Unix timestamp of when the profile was last updated
data.values[].invitesAvailable
number
Number of invites available to this profile
data.values[].invitedBy
number
ID of the profile that invited this user
data.limit
number
Number of results returned
data.offset
number
Current pagination offset
data.total
number
Total number of results matching the query
Error Responses
Code: 400 Bad Request
Example
Request
Response
Notes
The API enforces a maximum of 100 profiles that can be requested at once.
Results are returned in descending order by creation date (newest first).
For performance reasons, it's recommended to use the
useCache
parameter.Timestamps are returned in Unix epoch format (seconds since January 1, 1970).
Recent Profiles
Description: Retrieves recently created profiles, ordered by creation date (newest first).
Authentication Required: No
Parameters
Request Body
archived
boolean
No
Whether to include archived profiles (defaults to false)
limit
number
No
Number of results to return (maximum 5000)
offset
number
No
Offset for pagination
Responses
Success Response
Code: 200 OK
ok
boolean
Success status
data
object
Response data container
data.values
array
Array of profile objects
data.values[].id
number
Unique profile ID
data.values[].archived
boolean
Whether the profile is archived
data.values[].createdAt
number
Unix timestamp of when the profile was created
data.values[].updatedAt
number
Unix timestamp of when the profile was last updated
data.values[].invitesAvailable
number
Number of invites available to this profile
data.values[].invitedBy
number
ID of the profile that invited this user
data.limit
number
Number of results returned
data.offset
number
Current pagination offset
data.total
number
Total number of results matching the query
Example
Request
Response
Notes
The API returns profiles in descending order by creation date (newest first).
Timestamps are returned in Unix epoch format (seconds since January 1, 1970).
Directory
Description: Returns a directory listing of profiles with additional actor information.
Authentication Required: No
Parameters
Query Parameters
archived
boolean
No
Whether to include archived profiles (defaults to false)
sortField
string
No
Field to sort by: 'createdAt' or 'invitesAvailable' (defaults to 'createdAt')
sortDirection
string
No
Direction to sort: 'asc' or 'desc' (defaults to 'desc')
inviteFilter
string
No
Filter by invite status: 'hasInvites' or 'noInvites'
limit
number
No
Number of results to return (maximum 100)
offset
number
No
Offset for pagination
Responses
Success Response
Code: 200 OK
ok
boolean
Success status
data
object
Response data container
data.values
array
Array of profile objects
data.values[].id
number
Unique profile ID
data.values[].archived
boolean
Whether the profile is archived
data.values[].createdAt
number
Unix timestamp of when the profile was created
data.values[].updatedAt
number
Unix timestamp of when the profile was last updated
data.values[].invitesAvailable
number
Number of invites available to this profile
data.values[].invitedBy
number
ID of the profile that invited this user
data.values[].actor
object
Actor information for the profile
data.values[].actor.userkey
string
Unique user key
data.values[].actor.avatar
string
URL to the user's avatar
data.values[].actor.name
string
User's display name
data.values[].actor.username
string
User's username (may be null)
data.values[].actor.description
string
User's description (may be null)
data.values[].actor.score
number
User's score
data.values[].actor.scoreXpMultiplier
number
User's score XP multiplier
data.values[].actor.profileId
number
User's profile ID
data.values[].actor.primaryAddress
string
User's primary Ethereum address
data.values[].inviterActor
object
Actor information for the inviter profile
data.limit
number
Number of results returned
data.offset
number
Current pagination offset
data.total
number
Total number of results matching the query
Example
Request
Response
Notes
By default, results are sorted by creation date in descending order (newest first).
You can sort by invite availability using the
sortField
parameter.You can filter to only show profiles with or without invites using the
inviteFilter
parameter.Timestamps are returned in Unix epoch format (seconds since January 1, 1970).
Credibility Leaderboard
Description: Returns profiles ranked by credibility score in descending order.
Authentication Required: No
Parameters
Query Parameters
order
string
No
Direction to sort: 'asc' or 'desc' (defaults to 'desc')
limit
number
No
Number of results to return (defaults to 50)
Responses
Success Response
Code: 200 OK
ok
boolean
Success status
data
array
Array of user objects
data[].id
number
Unique user ID
data[].profileId
number
Profile ID (may be null for inactive users)
data[].displayName
string
User's display name
data[].username
string
User's username
data[].avatarUrl
string
URL to the user's avatar
data[].description
string
User's description
data[].score
number
User's credibility score
data[].status
string
User's status (ACTIVE or INACTIVE)
data[].userkeys
array
Array of userkeys associated with the user
Example
Request
Response
Notes
Certain profiles, such as the main Ethos Network profile and administrative profiles, are excluded from the leaderboard.
By default, results are sorted by credibility score in descending order (highest first).
Profile Stats
Description: Returns aggregate statistics about profiles on the platform.
Authentication Required: No
Parameters
None.
Responses
Success Response
Code: 200 OK
ok
boolean
Success status
data
object
Stats data
data.activeProfiles
number
Total number of active (non-archived) profiles
data.invitesAvailable
number
Total number of invites available across all profiles
Example
Request
Response
XP Leaderboard
Description: Returns profiles ranked by XP points in descending order.
Authentication Required: No
Parameters
Query Parameters
since
string
No
Only include XP earned since this date/time (ISO date format like '2023-01-01' or duration string like '1month')
limit
number
No
Number of results to return (defaults to 50)
Responses
Success Response
Code: 200 OK
ok
boolean
Success status
data
array
Array of user objects
data[].id
number
Unique user ID
data[].profileId
number
Profile ID
data[].displayName
string
User's display name
data[].username
string
User's username
data[].avatarUrl
string
URL to the user's avatar
data[].description
string
User's description
data[].score
number
User's credibility score
data[].status
string
User's status (ACTIVE or INACTIVE)
data[].userkeys
array
Array of userkeys associated with the user
data[].totalXp
number
Total XP points accumulated
Example
Request
Response
Notes
By default, results are sorted by total XP in descending order (highest first).
Limited to the top 50 profiles by default.
The
since
parameter can be specified either as an ISO date string (e.g., '2023-01-01') or as a duration string (e.g., '1month', '1week').When using the
since
parameter, the API returns only users who have earned XP during the specified period. If no users have earned XP in that period, an empty array is returned.Results are cached for 5 minutes for better performance.
Certain profiles, such as the main Ethos Network profile and administrative profiles, are excluded from the leaderboard.
Profiles with Attestation
Description: Returns profiles that have a valid X (Twitter) attestation, paginated and ordered by profile ID.
Authentication Required: No
Parameters
Query Parameters
limit
number
No
Number of results to return (default: 100, maximum: 1000)
offset
number
No
Offset for pagination (default: 0)
Responses
Success Response
Code: 200 OK
ok
boolean
Success status
data
object
Response data container
data.values
array
Array of profile objects
data.values[].profileId
number
Profile ID
data.values[].twitterUserId
string
X (Twitter) user ID
data.values[].twitterUsername
string
X (Twitter) username
data.values[].address
string
Primary Ethereum address associated with the profile
data.limit
number
Number of results returned
data.offset
number
Current pagination offset
data.total
number
Total number of results matching the query
Example
Request
Response
Notes
Results are sorted by profile ID in ascending order.
Only non-archived attestations are included.
For each profile, only the first (primary) address is returned.
The limit parameter has a maximum value of 1000.
This endpoint is useful for querying which profiles have connected their X (Twitter) accounts.
Last updated