Discovery API

Discovery API

Search and discover creators across multiple platforms using advanced filtering and search.

What you get

  • Paginated list of creator profiles with profile info, follower counts, engagement rates, and analytics. Instagram creators (10k+ followers) also include audience demographics and interest data.
  • Supports Instagram, YouTube, TikTok, Twitch, Twitter, and OnlyFans platforms.

Platform-specific filters

  • The available filters depend on the platform you choose — switching platform changes the filter fields in the request body.
  • Use the Dictionary endpoints to retrieve valid values for filters such as locations, languages, brands, audience interests, and audience locations.

Natural-language search

  • Optional — filters work on their own. Sending an nlp_search brief lets you describe who you're looking for in plain language instead of building filters by hand, and you can combine the two.
  • The 200 response adds applied_filters (what the search actually ran with) and nlp_search (what the AI inferred, and why anything was dropped).

Credits

  • 0.01 credits per creator returned — 0 creators, 0 credits.
  • Every request that returns creators is billed, even with identical filters. Monitoring your request volume and credit usage is your responsibility.
  • Usage is capped per billing period — see Usage & limits for how the cap works and what happens when you reach it.

Premium: matched filter values

  • return_filter_values=true — each returned creator includes a matched_filters object showing exactly which of your filter values it matched; see its schema in the 200 response for the shape of each field. 0.03 credits per creator instead of 0.01, and the unique-handle cap is unchanged. See the FAQ for an example.
<div class="ic-ai-prompt-root" data-endpoint="discovery"></div>
post/public/v1/discovery/

Query parameters

return_filter_valuesboolean

Include a matched_filters object on each returned creator.

Request body

OR
OR
OR
OR
OR

Response

totalinteger required
limitinteger required
credits_leftstring decimal required
applied_filtersobject

The effective filter set the search ran with — your explicit filters layered over anything the AI inferred.

Changes

Changed in 2 of the 3 revisions of this API.1164

  • 87e654ac822e1125See the full diff
    • the nlp_search/overridden_by_user response's property type/format changed from object/ to array/ for status 200

      response-property-type-changed

    • added the new optional request property oneOf[DiscoveryInstagramRequest]/filters/creator_has/has_personal_website (media type: application/json)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryInstagramRequest]/filters/creator_has/has_personal_website (media type: application/x-www-form-urlencoded)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryInstagramRequest]/filters/creator_has/has_personal_website (media type: multipart/form-data)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryInstagramRequest]/nlp_search (media type: application/json)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryInstagramRequest]/nlp_search (media type: application/x-www-form-urlencoded)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryInstagramRequest]/nlp_search (media type: multipart/form-data)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryOnlyFansRequest]/filters/creator_has/has_personal_website (media type: application/json)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryOnlyFansRequest]/filters/creator_has/has_personal_website (media type: application/x-www-form-urlencoded)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryOnlyFansRequest]/filters/creator_has/has_personal_website (media type: multipart/form-data)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryOnlyFansRequest]/nlp_search (media type: application/json)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryOnlyFansRequest]/nlp_search (media type: application/x-www-form-urlencoded)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryOnlyFansRequest]/nlp_search (media type: multipart/form-data)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryTikTokRequest]/filters/creator_has/has_personal_website (media type: application/json)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryTikTokRequest]/filters/creator_has/has_personal_website (media type: application/x-www-form-urlencoded)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryTikTokRequest]/filters/creator_has/has_personal_website (media type: multipart/form-data)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryTikTokRequest]/nlp_search (media type: application/json)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryTikTokRequest]/nlp_search (media type: application/x-www-form-urlencoded)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryTikTokRequest]/nlp_search (media type: multipart/form-data)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryTwitchRequest]/filters/creator_has/has_personal_website (media type: application/json)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryTwitchRequest]/filters/creator_has/has_personal_website (media type: application/x-www-form-urlencoded)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryTwitchRequest]/filters/creator_has/has_personal_website (media type: multipart/form-data)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryTwitchRequest]/nlp_search (media type: application/json)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryTwitchRequest]/nlp_search (media type: application/x-www-form-urlencoded)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryTwitchRequest]/nlp_search (media type: multipart/form-data)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryTwitterRequest]/filters/creator_has/has_personal_website (media type: application/json)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryTwitterRequest]/filters/creator_has/has_personal_website (media type: application/x-www-form-urlencoded)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryTwitterRequest]/filters/creator_has/has_personal_website (media type: multipart/form-data)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryTwitterRequest]/nlp_search (media type: application/json)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryTwitterRequest]/nlp_search (media type: application/x-www-form-urlencoded)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryTwitterRequest]/nlp_search (media type: multipart/form-data)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryYouTubeRequest]/filters/creator_has/has_personal_website (media type: application/json)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryYouTubeRequest]/filters/creator_has/has_personal_website (media type: application/x-www-form-urlencoded)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryYouTubeRequest]/filters/creator_has/has_personal_website (media type: multipart/form-data)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryYouTubeRequest]/nlp_search (media type: application/json)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryYouTubeRequest]/nlp_search (media type: application/x-www-form-urlencoded)

      new-optional-request-property

    • added the new optional request property oneOf[DiscoveryYouTubeRequest]/nlp_search (media type: multipart/form-data)

      new-optional-request-property

    • added the media type application/json for the response with the status 400

      response-media-type-added

    • added the media type application/json for the response with the status 503

      response-media-type-added

    • added the non-success response with the status 403

      response-non-success-status-added

    • added the optional property accounts/items/matched_filters/ai_search to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/average_comments to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/average_likes to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/average_stream_duration to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/average_stream_views to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/average_video_downloads to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/average_views to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/average_views_for_reels to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/average_views_on_long_videos to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/average_views_on_shorts to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/avg_views_last_30_days to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/brands to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/creator_has/has_personal_website to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/does_live_streaming to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/engagement_percent to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/exclude_keywords_in_bio to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/exclude_private_profile to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/exclude_role_based_emails to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/followers to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/games_played to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/gender to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/has_community_posts to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/has_courses to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/has_free_account to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/has_live_streams to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/has_membership to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/has_podcast to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/has_shorts to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/has_tik_tok_shop to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/has_videos to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/is_monetizing to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/is_twitch_partner to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/is_verified to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/keywords_in_bio to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/keywords_in_captions to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/keywords_in_description to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/keywords_in_tweets to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/keywords_in_video_description to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/keywords_in_video_titles to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/keywords_not_in_captions to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/keywords_not_in_description to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/keywords_not_in_tweets to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/keywords_not_in_video_description to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/keywords_not_in_video_titles to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/last_active to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/last_post to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/last_stream_upload to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/last_upload_long_video to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/last_upload_short_video to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/link_in_bio to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/links_from_description to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/links_from_video_description to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/location to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/long_video_duration to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/maximum_views_count to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/most_recent_stream_date to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/not_link_in_bio to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/not_video_description to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/number_of_followers to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/number_of_likes to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/number_of_photos to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/number_of_posts to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/number_of_subscribers to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/number_of_videos to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/profile_language to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/reels_percent to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/shorts_percentage to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/streamed_hours_last_30_days to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/streams_count_last_30_days to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/streams_live to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/subscription_price to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/topics to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/tweets_count to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/type to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/video_count to the response with the 200 status

      response-optional-property-added

    • added the optional property accounts/items/matched_filters/video_description to the response with the 200 status

      response-optional-property-added

    • added the optional property active_batches to the response with the 429 status

      response-optional-property-added

    • added the optional property available_credits to the response with the 429 status

      response-optional-property-added

    • added the optional property current_status to the response with the 429 status

      response-optional-property-added

    • added the optional property error to the response with the 429 status

      response-optional-property-added

    • added the optional property max_allowed to the response with the 429 status

      response-optional-property-added

    • added the optional property message to the response with the 429 status

      response-optional-property-added

    • added the optional property required_minimum to the response with the 429 status

      response-optional-property-added

    • added the optional property response_meta to the response with the 429 status

      response-optional-property-added

    • added the optional property retry_after to the response with the 429 status

      response-optional-property-added

    • added the required property error_code to the response with the 429 status

      response-required-property-added

    This revision also has 13 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • the sort_by request property default value relevancy was added (media type: application/json)

      request-property-default-value-added

    • the sort_by request property default value relevancy was added (media type: application/json)

      request-property-default-value-added

    • the sort_by request property default value relevancy was added (media type: application/json)

      request-property-default-value-added

    • the sort_by request property default value relevancy was added (media type: application/json)

      request-property-default-value-added

    • the sort_by request property default value relevancy was added (media type: application/json)

      request-property-default-value-added

    • the sort_by request property default value relevancy was added (media type: application/json)

      request-property-default-value-added

    • the sort_by request property default value relevancy was added (media type: application/x-www-form-urlencoded)

      request-property-default-value-added

    • the sort_by request property default value relevancy was added (media type: application/x-www-form-urlencoded)

      request-property-default-value-added

    • the sort_by request property default value relevancy was added (media type: application/x-www-form-urlencoded)

      request-property-default-value-added

    • the sort_by request property default value relevancy was added (media type: application/x-www-form-urlencoded)

      request-property-default-value-added

    • the sort_by request property default value relevancy was added (media type: application/x-www-form-urlencoded)

      request-property-default-value-added

    • the sort_by request property default value relevancy was added (media type: application/x-www-form-urlencoded)

      request-property-default-value-added

    • the sort_by request property default value relevancy was added (media type: multipart/form-data)

      request-property-default-value-added

    • the sort_by request property default value relevancy was added (media type: multipart/form-data)

      request-property-default-value-added

    • the sort_by request property default value relevancy was added (media type: multipart/form-data)

      request-property-default-value-added

    • the sort_by request property default value relevancy was added (media type: multipart/form-data)

      request-property-default-value-added

    • the sort_by request property default value relevancy was added (media type: multipart/form-data)

      request-property-default-value-added

    • the sort_by request property default value relevancy was added (media type: multipart/form-data)

      request-property-default-value-added

    • the sort_order request property default value desc was added (media type: application/json)

      request-property-default-value-added

    • the sort_order request property default value desc was added (media type: application/json)

      request-property-default-value-added

    • the sort_order request property default value desc was added (media type: application/json)

      request-property-default-value-added

    • the sort_order request property default value desc was added (media type: application/json)

      request-property-default-value-added

    • the sort_order request property default value desc was added (media type: application/json)

      request-property-default-value-added

    • the sort_order request property default value desc was added (media type: application/json)

      request-property-default-value-added

    • the sort_order request property default value desc was added (media type: application/x-www-form-urlencoded)

      request-property-default-value-added

    • the sort_order request property default value desc was added (media type: application/x-www-form-urlencoded)

      request-property-default-value-added

    • the sort_order request property default value desc was added (media type: application/x-www-form-urlencoded)

      request-property-default-value-added

    • the sort_order request property default value desc was added (media type: application/x-www-form-urlencoded)

      request-property-default-value-added

    • the sort_order request property default value desc was added (media type: application/x-www-form-urlencoded)

      request-property-default-value-added

    • the sort_order request property default value desc was added (media type: application/x-www-form-urlencoded)

      request-property-default-value-added

    • the sort_order request property default value desc was added (media type: multipart/form-data)

      request-property-default-value-added

    • the sort_order request property default value desc was added (media type: multipart/form-data)

      request-property-default-value-added

    • the sort_order request property default value desc was added (media type: multipart/form-data)

      request-property-default-value-added

    • the sort_order request property default value desc was added (media type: multipart/form-data)

      request-property-default-value-added

    • the sort_order request property default value desc was added (media type: multipart/form-data)

      request-property-default-value-added

    • the sort_order request property default value desc was added (media type: multipart/form-data)

      request-property-default-value-added

    • added the non-success response with the status 503

      response-non-success-status-added

    • added the optional property applied_filters to the response with the 200 status

      response-optional-property-added

    • added the optional property nlp_search to the response with the 200 status

      response-optional-property-added