Authentication
Authenticate requests with your API key using the following HTTP header.
Authorization: Bearer <YOUR_KEY>API access requires a paid workspace. Calls are billed by usage.
POST/api/openapi/v1/creators/by-emailFind creators by email
API pricing1 credits / matched email, no charge if no creators are found
Supported platformsInstagram / YouTube / TikTok / Twitter / X
Quick start (cURL)
curl -X POST 'https://app.hicreator.ai/api/openapi/v1/creators/by-email' \
-H 'Authorization: Bearer <YOUR_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"email": "[email protected]"
}'Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| string | Yes | One email address to look up. |
Response fields
All matching stored creators; unknown fields are null, no match returns [].
| Parameter | Type | Always returned | Description |
|---|---|---|---|
| requestId | string | Yes | Request ID for support. |
| billingRequestId | string | Yes | Billing record ID. |
| data | object | Yes | Query result. |
| data.email | string | Yes | Queried email. |
| data.creators | object[] | Yes | Matching creators. |
| data.creators[].id | string | Yes | Platform creator ID. |
| data.creators[].platform | 'instagram' | 'youtube' | 'tiktok' | 'twitter' | Yes | Platform. |
| data.creators[].username | string | null | Yes | Handle. |
| data.creators[].fullName | string | null | Yes | Display name. |
| data.creators[].avatarUrl | string (URL) | null | Yes | Avatar link. |
| data.creators[].profileUrl | string (URL) | null | Yes | Creator profile link. |
| data.creators[].youtubeChannelUrl | string (URL) | null | Yes | YouTube channel link. |
| data.creators[].youtubeHandleUrl | string (URL) | null | Yes | YouTube handle link. |
| data.creators[].biography | string | null | Yes | Biography. |
| data.creators[].email | string | Yes | Public contact email. |
| data.creators[].externalLinks | string[] | null | Yes | Public links. |
| data.creators[].followerCount | integer | null | Yes | Followers or subscribers. |
| data.creators[].followingCount | integer | null | Yes | Accounts followed. |
| data.creators[].region | string | null | Yes | Region. |
| data.creators[].language | string | null | Yes | Primary content language. |
| data.creators[].youtubeHasOfficialEmail | boolean | null | Yes | Official email button available. |
| data.creators[].averagePlayCount | number | null | Yes | Average plays. |
| data.creators[].medianPlayCount | number | null | Yes | Median plays. |
| data.creators[].averageViewCount | number | null | Yes | Average post views. |
| data.creators[].medianViewCount | number | null | Yes | Median post views. |
| data.creators[].averageEngagementRate | number | null | Yes | Average engagement rate as a decimal. |
| data.creators[].medianEngagementRate | number | null | Yes | Median engagement rate as a decimal. |
| data.creators[].gender | string | null | Yes | Gender. |
| data.creators[].ageRange | string | null | Yes | Age range. |
| data.creators[].ethnicity | string | null | Yes | Ethnicity. |
| data.creators[].faceVisibility | string | null | Yes | Face visibility. |
| data.creators[].accountType | string | null | Yes | Account type. |
| data.creators[].accountPositioning | string[] | null | Yes | Profile positioning tags. |
| data.creators[].aiDescription | string | null | Yes | AI creator summary. |
Example response (JSON)
{
"requestId": "<request-id>",
"billingRequestId": "<billing-request-id>",
"data": {
"email": "[email protected]",
"creators": [
{
"id": "123456",
"platform": "instagram",
"username": "example_creator",
"fullName": "Example Creator",
"avatarUrl": "https://assets.example.com/avatars/creator.jpg",
"profileUrl": "https://www.instagram.com/example_creator/",
"youtubeChannelUrl": null,
"youtubeHandleUrl": null,
"biography": "Creator biography",
"email": "[email protected]",
"externalLinks": [
"https://example.com/"
],
"followerCount": 50000,
"followingCount": 120,
"region": "US",
"language": "en",
"youtubeHasOfficialEmail": null,
"averagePlayCount": 12000,
"medianPlayCount": 9800,
"averageViewCount": null,
"medianViewCount": null,
"averageEngagementRate": 0.045,
"medianEngagementRate": 0.041,
"gender": null,
"ageRange": null,
"ethnicity": null,
"faceVisibility": "clear_face",
"accountType": null,
"accountPositioning": [
"lifestyle creator"
],
"aiDescription": "Lifestyle creator"
}
]
}
}Errors and retries
See error.message; keep requestId for support. Do not retry uncertain requests.
View error codes
Request: 400 invalid parameters (10001) or quantity below the minimum (70004); 401 invalid key (20001); 403 API access is only available to paid Workspaces (60006); 413 payload too large (10005); 415 unsupported format (10006); 429 too many requests (10007).
Execution: 404 Twitter creator unavailable (60008); 422 invalid search intent (60001) or target account (60002); 422 email lookup incomplete (60009): search limits reached, fully refunded; this does not mean no email exists and must not be automatically retried; 502 email lookup failed (60003) or execution failed (60004); 504 request timed out (60005). Gateway error pages are returned as JSON with code API_UPSTREAM_ERROR; do not automatically retry paid requests.
Credits: 402 insufficient balance (70001) or daily limit exceeded (70006); 409 feature unavailable (70002) or credit record conflict (70003). API errors include error.code, error.message, and error.requestId. Business errors include error.billingRequestId after charging starts; gateway fallbacks may lack it and cannot confirm refund status.