Profile Public API
This API endpoint allows 3rd party developers to retrieve public profile data for any Odude ID. The data is returned in a structured JSON format, making it easy to integrate Odude profiles into external applications.
Endpoint
GET https://name.odude.com/api/{odude_id}Replace {odude_id} with the specific Odude ID you wish to query (e.g., demo@me).
Request Example
curl https://name.odude.com/api/demo@meResponse Format
The API returns a JSON object containing the profile’s basic information, attributes, and detailed records.
Example Response
{
"name": "demo@me",
"description": "This is a demo account showcasing how an Odude profile looks.",
"image": "https://storage.googleapis.com/odudename.appspot.com/demo@me.jpg",
"attributes": [
{
"trait_type": "domain",
"value": "demo@me"
},
{
"trait_type": "level",
"value": 2
},
{
"trait_type": "length",
"value": 7
}
],
"records": {
"1": {
"type": "name",
"value": "Demo Account"
},
"2": {
"type": "email",
"value": "demo@email.com"
},
"3": {
"type": "website",
"value": "https://yoursite.com"
},
"4": {
"type": "phone",
"value": "+12334567910,+15544662299"
},
"5": {
"type": "tg_bot",
"value": ""
},
"6": {
"type": "social",
"value": {
"tiktok": "tiktok",
"discord": "discord",
"twitter": "twitter",
"youtube": "youtube",
"facebook": "fb",
"linkedin": "linkedin",
"telegram": "telegram",
"instagram": "insta"
}
},
"7": {
"type": "link",
"value": {
"Link No.1": "https://link1.com",
"Link No.2": "https://link2.com"
}
},
"8": {
"type": "crypto",
"value": {
"btc": "bc1qx4qym8fxemdsc6s67y9gnnzh6a83q8mueclj8a",
"eth": "0x68DAe1a6168a124Bc7F41a2Da924290085a678F8",
"sol": "HhQ1EsQ4eNFS2zhbGcvEgAV7rK9nna3RwcNfSVL2szhb"
}
},
"9": {
"type": "notes",
"value": {
"Note No.1": "This document contains sample notes and may include bank details.",
"Note No.2": "1234 Lone Star Ave, Austin, TX 78701, USA"
}
},
"20": {
"type": "img",
"value": {
"img1": "https://storage.odude.com/images/img1_demo@me_1767345793157.png",
"img2": "https://storage.odude.com/images/img2_demo@me_1767345814410.png"
}
},
"50": {
"type": "web_url",
"value": "https://name.odude.com/profile/demo@me"
},
"51": {
"type": "web3_url",
"value": ""
}
}
}Data Schema
Root Fields
| Field | Type | Description |
|---|---|---|
name | string | The unique Odude ID (e.g., user@me). |
description | string | A short biography or description of the profile. |
image | string | URL to the profile’s primary avatar image. |
attributes | array | Metadata traits (e.g., domain name, account level). |
records | object | Comprehensive dictionary of user-defined records, indexed by numeric IDs. |
Attributes Example
Attributes follow the standard NFT metadata format:
trait_type: The category of metadata (e.g.,level,length).value: The actual value for that trait.
Records Breakdown
The records object is a dictionary where each entry contains a type and a value. Developers should iterate through the records and look for the specific type string (e.g., "type": "social") rather than relying on the numeric keys, as those keys may vary or change in the future.
| Type | Description |
|---|---|
name | The display name of the user. |
email | Contact email address. |
website | Personal or professional website URL. |
phone | Comma-separated list of phone numbers. |
tg_bot | Telegram Bot username/link. |
social | Object containing social media handles (TikTok, Discord, Twitter, etc.). |
link | Object containing custom “Featured Links” with labels. |
crypto | Object containing cryptocurrency wallet addresses (BTC, ETH, SOL). |
notes | Object containing custom text notes or addresses. |
img | Object containing additional profile gallery images. |
web_url | Direct URL to the Odude profile web page. |
web3_url | URL to the Web3 version of the profile (if available). |
Integration Tips
- Locating Data: Always search for data by its
typefield within therecordsobject. For example, to find social media links, find the record where"type": "social". - Caching: Since profile data doesn’t change every second, it’s recommended to cache the response for a few minutes to improve your app’s performance.
- Social Icons: Use the keys in the
socialrecord value object to map to your application’s social icons. - Image Fallbacks: If the
imagefield is empty or fails to load, consider using a default placeholder avatar. - Phone Numbers: The
phonetype returns a comma-separated string. You may need tosplit(',')it to display individual numbers.
Support
For further assistance with API integration, please contact the Odude developer support team.