# Enrich by handle raw

Retrieve raw platform data for a creator profile using their social media handle.
**What you get**
- Returns unprocessed platform-specific data directly from the source, including basic profile information, post data, media counts, and platform-native metadata.
- This endpoint provides the foundational data layer before any additional processing or enrichment.
- Supports Instagram, YouTube, TikTok, OnlyFans, Twitter, Snapchat, Discord, Pinterest, Facebook, and LinkedIn platforms.

**Credits**
- 0.03 credits per successful request. If no data is returned, no credits are deducted.

<div class="ic-ai-prompt-root" data-endpoint="handle-raw"></div>

Endpoint: POST /public/v1/creators/enrich/handle/raw/
Version: 1.0.0
Security: Bearer

## Request fields (application/json):

  - `handle` (string, required)
    Creator identifier — username, profile URL, or YouTube channel ID (UC...).

  - `platform` (string, required)
    Platform to enrich from (e.g., instagram, youtube).
    Enum: "instagram", "youtube", "tiktok", "onlyfans", "twitter", "snapchat", "discord", "pinterest", "facebook", "linkedin", "twitch"

## Response 200 fields (application/json):

  - `credits_cost` (number)
    Example: 0.03

  - `result` (object)

  - `result.twitter` (object)

  - `result.twitter.userid` (string)

  - `result.twitter.exists` (boolean)

  - `result.twitter.username` (string)
    The creator's username on the platform.

  - `result.twitter.full_name` (string)

  - `result.twitter.biography` (string)

  - `result.twitter.profile_picture` (string)
    URL to the creator's profile picture. This URL is temporary and expires after 24 hours. To keep the image, download it to your own storage before it expires.

  - `result.twitter.profile_picture_hd` (string)
    URL to the creator's high-definition profile picture. This URL is temporary and expires after 24 hours. To keep the image, download it to your own storage before it expires.

  - `result.twitter.join_date` (string)

  - `result.twitter.links_in_bio` (array, required)

  - `result.twitter.location` (string)

  - `result.twitter.follower_count` (integer)

  - `result.twitter.following_count` (integer)

  - `result.twitter.media_count` (integer)

  - `result.twitter.tweets_count` (integer)

  - `result.twitter.creator_favorite_count` (integer)

  - `result.twitter.is_verified` (boolean)

  - `result.twitter.direct_messaging` (boolean)

  - `result.twitter.subscriber_button` (boolean)

  - `result.twitter.super_followed_by` (boolean)

  - `result.twitter.post_data` (array, required)

  - `result.twitch` (object)

  - `result.twitch.user_id` (string)
    The creator's unique platform identifier.

  - `result.twitch.username` (string)
    The creator's username on the platform.

  - `result.twitch.profileImageURL` (string)
    URL to the creator's profile picture. This URL is temporary and expires after 24 hours. To keep the image, download it to your own storage before it expires.

  - `result.twitch.profile_picture_hd` (string)
    URL to the creator's high-definition profile picture. This URL is temporary and expires after 24 hours. To keep the image, download it to your own storage before it expires.

  - `result.twitch.description` (string)

  - `result.twitch.displayName` (string)

  - `result.twitch.total_followers` (integer)

  - `result.twitch.links_in_bio` (array, required)

  - `result.twitch.post_data` (array, required)

  - `result.onlyfans` (object)

  - `result.onlyfans.user_id` (string)
    The creator's unique platform identifier.

  - `result.onlyfans.exists` (boolean)

  - `result.onlyfans.username` (string)
    The creator's username on the platform.

  - `result.onlyfans.full_name` (string)

  - `result.onlyfans.biography` (string)

  - `result.onlyfans.profile_picture` (string)
    URL to the creator's profile picture. This URL is temporary and expires after 24 hours. To keep the image, download it to your own storage before it expires.

  - `result.onlyfans.profile_picture_hd` (string)
    URL to the creator's high-definition profile picture. This URL is temporary and expires after 24 hours. To keep the image, download it to your own storage before it expires.

  - `result.onlyfans.is_verified` (boolean)

  - `result.onlyfans.subscribe_price` (number)

  - `result.onlyfans.join_date` (string)

  - `result.onlyfans.first_published_post_date` (string)

  - `result.onlyfans.last_seen` (string)

  - `result.onlyfans.wishlist` (array, required)

  - `result.onlyfans.posts_count` (integer)

  - `result.onlyfans.photos_count` (integer)

  - `result.onlyfans.videos_count` (integer)

  - `result.onlyfans.audios_count` (integer)

  - `result.onlyfans.media_count` (integer)

  - `result.onlyfans.total_likes` (integer)

  - `result.onlyfans.is_real_performer` (boolean)

  - `result.onlyfans.is_adult_content` (boolean)

  - `result.onlyfans.finished_streams_count` (integer)

  - `result.onlyfans.can_create_promotion` (boolean)

  - `result.onlyfans.tips_enabled` (boolean)

  - `result.onlyfans.tips_text_enabled` (boolean)

  - `result.onlyfans.tips_min` (number)

  - `result.onlyfans.tips_min_internal` (number)

  - `result.onlyfans.tips_max` (number)

  - `result.onlyfans.can_earn` (boolean)

  - `result.onlyfans.archived_posts_count` (integer)

  - `result.onlyfans.private_archived_posts_count` (integer)

  - `result.onlyfans.is_spotify_connected` (boolean)

  - `result.onlyfans.referal_bonus_sum_for_referer` (number)

  - `result.onlyfans.can_receive_chat_message` (boolean)

  - `result.onlyfans.can_chat` (boolean)

  - `result.onlyfans.post_dates` (array, required)

  - `result.onlyfans.post_data` (array, required)

  - `result.youtube` (object)

  - `result.youtube.id` (string)

  - `result.youtube.exists` (boolean)

  - `result.youtube.link` (string)

  - `result.youtube.profile_picture` (string)
    URL to the creator's profile picture. This URL is temporary and expires after 24 hours. To keep the image, download it to your own storage before it expires.

  - `result.youtube.related_playlist_id` (string)

  - `result.youtube.profile_picture_hd` (string)
    URL to the creator's high-definition profile picture. This URL is temporary and expires after 24 hours. To keep the image, download it to your own storage before it expires.

  - `result.youtube.custom_url` (string)

  - `result.youtube.title` (string)

  - `result.youtube.description` (string)

  - `result.youtube.published_at` (string)

  - `result.youtube.subscriber_count` (integer)

  - `result.youtube.video_count` (integer)

  - `result.youtube.view_count` (integer)

  - `result.youtube.country` (string)

  - `result.youtube.has_shorts` (boolean)

  - `result.youtube.has_community_posts` (boolean)

  - `result.youtube.made_for_kids` (boolean)

  - `result.youtube.privacy_status` (string)

  - `result.youtube.moderate_comments` (boolean)

  - `result.youtube.unsubscribed_trailer_id` (string)

  - `result.youtube.total_comments_last_50` (integer)

  - `result.youtube.topic_details` (array, required)

  - `result.youtube.post_data` (array, required)

  - `result.tiktok` (object)

  - `result.tiktok.user_id` (string)
    The creator's unique platform identifier.

  - `result.tiktok.sec_user_id` (string)

  - `result.tiktok.exists` (boolean)

  - `result.tiktok.username` (string)
    The creator's username on the platform.

  - `result.tiktok.profile_picture` (string)
    URL to the creator's profile picture. This URL is temporary and expires after 24 hours. To keep the image, download it to your own storage before it expires.

  - `result.tiktok.profile_picture_hd` (string)
    URL to the creator's high-definition profile picture. This URL is temporary and expires after 24 hours. To keep the image, download it to your own storage before it expires.

  - `result.tiktok.full_name` (string)

  - `result.tiktok.biography` (string)

  - `result.tiktok.follower_count` (integer)

  - `result.tiktok.following_count` (integer)

  - `result.tiktok.video_count` (integer)

  - `result.tiktok.total_likes` (integer)

  - `result.tiktok.total_shares` (integer)

  - `result.tiktok.total_saves` (integer)

  - `result.tiktok.links_in_bio` (array, required)

  - `result.tiktok.tt_seller` (boolean)

  - `result.tiktok.is_ad` (boolean)

  - `result.tiktok.is_verified` (boolean)

  - `result.tiktok.is_commerce` (boolean)

  - `result.tiktok.duet_setting` (string)

  - `result.tiktok.is_private` (boolean)

  - `result.tiktok.saves_count_list` (array, required)

  - `result.tiktok.post_data` (array, required)

  - `result.instagram` (object)

  - `result.instagram.userid` (string)

  - `result.instagram.exists` (boolean)

  - `result.instagram.username` (string)
    The creator's username on the platform.

  - `result.instagram.has_profile_pic` (boolean)

  - `result.instagram.profile_picture` (string)
    URL to the creator's profile picture. This URL is temporary and expires after 24 hours. To keep the image, download it to your own storage before it expires.

  - `result.instagram.profile_picture_hd` (string)
    URL to the creator's high-definition profile picture. This URL is temporary and expires after 24 hours. To keep the image, download it to your own storage before it expires.

  - `result.instagram.biography` (string)

  - `result.instagram.full_name` (string)

  - `result.instagram.category` (string)

  - `result.instagram.media_count` (integer)

  - `result.instagram.follower_count` (integer)

  - `result.instagram.following_count` (integer)

  - `result.instagram.is_private` (boolean)

  - `result.instagram.is_business_account` (boolean)

  - `result.instagram.is_verified` (boolean)

  - `result.instagram.video_content_creator` (boolean)

  - `result.instagram.uses_link_in_bio` (boolean)

  - `result.instagram.links_in_bio` (array, required)

  - `result.instagram.post_data` (array, required)

  - `result.facebook` (object)

  - `result.facebook.user_id` (string)
    The creator's unique platform identifier.

  - `result.facebook.profile_picture_hd` (string)
    URL to the creator's high-definition profile picture. This URL is temporary and expires after 24 hours. To keep the image, download it to your own storage before it expires.

  - `result.facebook.post_data` (array, required)

  - `result.pinterest` (object)

  - `result.pinterest.username` (string)
    The creator's username on the platform.

  - `result.pinterest.pk` (string)

  - `result.pinterest.profile_picture_hd` (string)
    URL to the creator's high-definition profile picture. This URL is temporary and expires after 24 hours. To keep the image, download it to your own storage before it expires.

  - `result.reddit` (object)

  - `result.reddit.username` (string)
    The creator's username on the platform.

  - `result.reddit.pk` (string)

  - `result.reddit.profile_picture_hd` (string)
    URL to the creator's high-definition profile picture. This URL is temporary and expires after 24 hours. To keep the image, download it to your own storage before it expires.

  - `result.snapchat` (object)

  - `result.snapchat.username` (string)
    The creator's username on the platform.

  - `result.snapchat.is_private` (boolean)

  - `result.snapchat.profile_picture_url` (string)
    URL to the creator's profile picture. This URL is temporary and expires after 24 hours. To keep the image, download it to your own storage before it expires.

  - `result.snapchat.profile_picture_hd` (string)
    URL to the creator's high-definition profile picture. This URL is temporary and expires after 24 hours. To keep the image, download it to your own storage before it expires.

  - `result.snapchat.title` (string)

  - `result.snapchat.biography` (string)

  - `result.snapchat.subscriber_count` (integer)

  - `result.snapchat.address` (string)

  - `result.snapchat.has_curated_highlights` (boolean)

  - `result.snapchat.has_spotlight_highlights` (boolean)

  - `result.snapchat.page_description` (string)

  - `result.snapchat.links_in_bio` (array, required)

  - `result.discord` (object)

  - `result.discord.type` (string)

  - `result.discord.code` (string)

  - `result.discord.expires_at` (string)

  - `result.discord.flags` (integer)

  - `result.discord.profile_picture_hd` (string)
    URL to the creator's high-definition profile picture. This URL is temporary and expires after 24 hours. To keep the image, download it to your own storage before it expires.

  - `result.linkedin` (object)

  - `result.linkedin.id` (string)

  - `result.linkedin.connection` (string)

  - `result.linkedin.followers` (integer)

  - `result.linkedin.username` (string)
    The creator's username on the platform.

  - `result.linkedin.first_name` (string)

  - `result.linkedin.last_name` (string)

  - `result.linkedin.is_creator` (boolean)

  - `result.linkedin.is_premium` (boolean)

  - `result.linkedin.profile_picture` (string)
    URL to the creator's profile picture. This URL is temporary and expires after 24 hours. To keep the image, download it to your own storage before it expires.

  - `result.linkedin.profile_pictures` (array, required)

  - `result.linkedin.background_image` (string)

  - `result.linkedin.summary` (string)

  - `result.linkedin.headline` (string)

  - `result.linkedin.full_positions` (array, required)

  - `result.linkedin.skills` (array, required)

  - `result.linkedin.projects` (array, required)

  - `result.linkedin.supported_locales` (array, required)

## Response 400 fields (application/json):

  - `error` (any)
    Human-readable description of what went wrong. Shape varies per endpoint: string on most paths, DRF field-error object on validation paths of creators_api enrich/* and enrichment_batch_api create, list of strings on discovery filter validation. See the per-endpoint example response.
    Example: Insufficient credits.

  - `error_code` (string, required)
    Machine-readable snake_case slug identifying the error class. Stable across API versions; **the only field guaranteed present on every public-API error**. Use for programmatic branching instead of parsing `error`.
    Example: insufficient_credits

  - `message` (string)
    Optional long-form detail sibling to `error`. Present on endpoints that historically returned both a short label and a long explanation (rate limits, polling, batch state, insufficient_credits on resume).
    Example: Poll every 30-60 seconds. Excessive polling results in rate limiting.

  - `retry_after` (integer)
    Seconds the caller should wait before retrying. Present on 429s where the OLD endpoint set it; mirrored in the `Retry-After` HTTP header.
    Example: 60

  - `available_credits` (number)
    Credits currently available. Present on the 403 insufficient_credits response of `POST /public/v1/enrichment/batch/{id}/resume/`.

  - `required_minimum` (number)
    Minimum credits needed. Pairs with `available_credits`.

  - `current_status` (string)
    Current resource state. Present on 400 responses where the operation requires a different state (e.g. `batch_not_ready`, `batch_not_resumable`).

  - `active_batches` (integer)
    Active batch count when `error_code: batch_limit_reached`.

  - `max_allowed` (integer)
    Per-client batch ceiling. Pairs with `active_batches`.

## Response 403 fields (application/json):

  - `error` (any)
    Human-readable description of what went wrong. Shape varies per endpoint: string on most paths, DRF field-error object on validation paths of creators_api enrich/* and enrichment_batch_api create, list of strings on discovery filter validation. See the per-endpoint example response.
    Example: Insufficient credits.

  - `error_code` (string, required)
    Machine-readable snake_case slug identifying the error class. Stable across API versions; **the only field guaranteed present on every public-API error**. Use for programmatic branching instead of parsing `error`.
    Example: insufficient_credits

  - `message` (string)
    Optional long-form detail sibling to `error`. Present on endpoints that historically returned both a short label and a long explanation (rate limits, polling, batch state, insufficient_credits on resume).
    Example: Poll every 30-60 seconds. Excessive polling results in rate limiting.

  - `retry_after` (integer)
    Seconds the caller should wait before retrying. Present on 429s where the OLD endpoint set it; mirrored in the `Retry-After` HTTP header.
    Example: 60

  - `available_credits` (number)
    Credits currently available. Present on the 403 insufficient_credits response of `POST /public/v1/enrichment/batch/{id}/resume/`.

  - `required_minimum` (number)
    Minimum credits needed. Pairs with `available_credits`.

  - `current_status` (string)
    Current resource state. Present on 400 responses where the operation requires a different state (e.g. `batch_not_ready`, `batch_not_resumable`).

  - `active_batches` (integer)
    Active batch count when `error_code: batch_limit_reached`.

  - `max_allowed` (integer)
    Per-client batch ceiling. Pairs with `active_batches`.

## Response 429 fields (application/json):

  - `error` (any)
    Human-readable description of what went wrong. Shape varies per endpoint: string on most paths, DRF field-error object on validation paths of creators_api enrich/* and enrichment_batch_api create, list of strings on discovery filter validation. See the per-endpoint example response.
    Example: Insufficient credits.

  - `error_code` (string, required)
    Machine-readable snake_case slug identifying the error class. Stable across API versions; **the only field guaranteed present on every public-API error**. Use for programmatic branching instead of parsing `error`.
    Example: insufficient_credits

  - `message` (string)
    Optional long-form detail sibling to `error`. Present on endpoints that historically returned both a short label and a long explanation (rate limits, polling, batch state, insufficient_credits on resume).
    Example: Poll every 30-60 seconds. Excessive polling results in rate limiting.

  - `retry_after` (integer)
    Seconds the caller should wait before retrying. Present on 429s where the OLD endpoint set it; mirrored in the `Retry-After` HTTP header.
    Example: 60

  - `available_credits` (number)
    Credits currently available. Present on the 403 insufficient_credits response of `POST /public/v1/enrichment/batch/{id}/resume/`.

  - `required_minimum` (number)
    Minimum credits needed. Pairs with `available_credits`.

  - `current_status` (string)
    Current resource state. Present on 400 responses where the operation requires a different state (e.g. `batch_not_ready`, `batch_not_resumable`).

  - `active_batches` (integer)
    Active batch count when `error_code: batch_limit_reached`.

  - `max_allowed` (integer)
    Per-client batch ceiling. Pairs with `active_batches`.

