API access and keys

Connect creator discovery, data lookups, and analysis reports to your application with the hiCreator API.

Get an API key

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/ai-search

AI search

Instagram / YouTube / TikTok0.5 credits / creator

Twitter / X2 credits / creator

Reserve the requested count; charge only returned creators. Failures are refunded. TikTok only: filters.videoCartOnly=true defaults to false and adds 1 credit per returned creator (currently 1.5 credits total). Matches stored shopping-cart evidence, not live product availability.

Supported platformsInstagram / YouTube / TikTok / Twitter / X

Quick start (cURL)

curl -X POST 'https://app.hicreator.ai/api/openapi/v1/creators/ai-search' \
  -H 'Authorization: Bearer <YOUR_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "platform": "instagram",
  "query": "Home cooking creators sharing simple, healthy recipes",
  "limit": 40,
  "filters": {
    "regions": [
      "US",
      "GB"
    ],
    "excludedRegions": [
      "DE"
    ],
    "languages": [
      "en"
    ],
    "minFollowers": 50000,
    "maxFollowers": 500000,
    "minPlayCount": 10000,
    "playCountMetric": "median",
    "creatorTypes": [
      "solo_creator"
    ],
    "faceVisibilities": [
      "clear_face",
      "partial_face"
    ],
    "workspaceDeduplicationEnabled": true
  }
}'

Request parameters

ParameterTypeRequiredDescription
filters.videoCartOnlybooleanNoTikTok only: filters.videoCartOnly=true defaults to false and adds 1 credit per returned creator (currently 1.5 credits total). Matches stored shopping-cart evidence, not live product availability.
View allowed values

tiktok

platformstringYesCreator platform.
View allowed values

instagram / youtube / tiktok / twitter

querystringYesDescribe the creators you want to find.
limitintegerNoNumber of creators; default 40, maximum 100.
filtersobjectNoSearch filters.
filters.regionsstring[]NoCountries or regions to include, e.g. US or GB.
filters.excludedRegionsstring[]NoCountries or regions to exclude.
filters.languagesstring[]NoContent languages; use zh-Hans or zh-Hant for Chinese.
View allowed values

en / es / pt / fr / de / ko / ja / ar / ru / it / zh-Hant / tr / id / hi / pl / vi / th / nl / fa / zh-Hans / bn / da / uk / ro / sv / el / ms / cs / he / hu / mr / fi / sr / hr / ml / no / ta / tl / zh

filters.minFollowers / maxFollowersintegerNoFollower count range.
filters.minPlayCount / maxPlayCountintegerNoVideo play count range. Video platforms only.
filters.playCountMetricstringNoaverage (default) or median. Video platforms only.
filters.gendersstring[]NoGender.
View allowed values

female / male

filters.ethnicitiesstring[]NoEthnicity.
View allowed values

white / black / asian / hispanic_latino / middle_eastern / indigenous / pacific_islander / multiracial

filters.creatorTypesstring[]NoCreator type. Video platforms only.
View allowed values

solo_creator / couple / family / group / product_only / brand_account / media_publisher / organization / content_aggregator / virtual_creator

filters.faceVisibilitiesstring[]NoFace visibility. Video platforms only.
View allowed values

clear_face / partial_face / no_face / mixed

filters.twitterobjectNoTwitter / X filters.
filters.twitter.accountTypesstring[]NoAccount type.
View allowed values

person / brand / company / media / organization / community / aggregator / bot / unknown

filters.twitter.ageRangesstring[]NoAge range.
View allowed values

0_17 / 18_24 / 25_34 / 35_44 / 45_54 / 55_64 / 65_plus / unknown / not_applicable

filters.twitter.minViewCount / maxViewCountintegerNoPost view count range.
filters.twitter.viewCountMetricstringNoaverage (default) or median.
filters.twitter.minFollowingCount / maxFollowingCountintegerNoFollowing count range.
filters.twitter.originalPublishedWithinDaysintegerNoOriginal posts published within this many days (1–30).
filters.twitter.activeWithinDaysintegerNoActive within this many days (1–365).
filters.twitter.capturedWithinDaysintegerNoProfile captured within this many days (1–365).
filters.workspaceDeduplicationEnabledbooleanNoExclude past searches when enabled; exclusions always apply.
Supported platforms

Response fields

ParameterTypeAlways returnedDescription
requestIdstringYesRequest ID for support.
billingRequestIdstringYesBilling record ID.
dataobjectYesQuery result.
data.itemsobject[]YesCreator list.
data.countintegerYesReturned creator count.
data.items[].idstringYesPlatform creator ID.
data.items[].usernamestringYesHandle.
data.items[].fullNamestring | nullYesDisplay name.
data.items[].platformstringYesPlatform.
data.items[].biographystring | nullYesBiography.
data.items[].followerCountinteger | nullYesFollowers or subscribers.
data.items[].regionstring | nullYesRegion.
data.items[].languagestring | nullYesPrimary content language.
data.items[].emailstring | nullYesPublic contact email.
data.items[].averagePlayCountnumber | nullYesAverage plays.
data.items[].medianPlayCountnumber | nullYesMedian plays.
data.items[].averageEngagementRatenumber | nullYesAverage engagement rate as a decimal.
data.items[].medianEngagementRatenumber | nullYesMedian engagement rate as a decimal.
data.items[].genderstring | nullYesGender.
data.items[].ageRangestring | nullYesAge range.
data.items[].ethnicitystring | nullYesEthnicity.
data.items[].faceVisibilitystring | nullYesFace visibility.
data.items[].accountPositioningstring[]YesProfile positioning tags.
data.items[].aiDescriptionstring | nullYesAI creator summary.
data.items[].profileUrlstringYesCreator profile link.
data.items[].scorenumberYesMatch score; higher is more relevant.

Example response (JSON)

{
  "requestId": "<request-id>",
  "billingRequestId": "<billing-request-id>",
  "data": {
    "items": [
      {
        "id": "<creator-id>",
        "username": "example_creator",
        "fullName": "<creator-name>",
        "platform": "instagram",
        "biography": "<creator-biography>",
        "followerCount": 50000,
        "region": "US",
        "language": "en",
        "email": "[email protected]",
        "averagePlayCount": 12000,
        "medianPlayCount": 9800,
        "averageEngagementRate": 0.045,
        "medianEngagementRate": 0.041,
        "gender": "female",
        "ageRange": "25-34",
        "ethnicity": "asian",
        "faceVisibility": "clear_face",
        "accountPositioning": [
          "<account-positioning>"
        ],
        "aiDescription": "<ai-description>",
        "profileUrl": "https://www.instagram.com/example_creator/",
        "score": 0.82
      }
    ],
    "count": 1
  }
}

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.

API access and keys | hiCreator