> ## Documentation Index
> Fetch the complete documentation index at: https://docs.topyappers.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search Creators (v2)

> Search creators using the same filters as the Creators API. Returns a list of userIds to fetch full profiles.



## OpenAPI

````yaml GET /api/v2/creators/search
openapi: 3.1.0
info:
  title: Creators API
  description: >-
    Creators API — v1 GET and v2 search share the same query parameters (posting
    cadence, average video duration, monetization post counts, demographics,
    etc.). Creator objects in responses use **snake_case** keys (see `Creator`
    schema).
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.topyappers.com
security:
  - apiKeyAuth: []
paths:
  /api/v2/creators/search:
    get:
      summary: Search creators (free)
      description: >-
        Search creators using the same filters as the Creators API. Returns a
        list of userIds to fetch full profiles.
      parameters:
        - name: followersMin
          in: query
          description: Minimum number of followers
          schema:
            type: integer
          example: 10000
        - name: followersMax
          in: query
          description: Maximum number of followers
          schema:
            type: integer
          example: 1000000
        - name: averageViewsMin
          in: query
          description: Minimum average views per post
          schema:
            type: integer
          example: 5000
        - name: averageViewsMax
          in: query
          description: Maximum average views per post
          schema:
            type: integer
          example: 500000
        - name: averageLikesMin
          in: query
          description: Minimum average likes per post
          schema:
            type: integer
          example: 100
        - name: averageLikesMax
          in: query
          description: Maximum average likes per post
          schema:
            type: integer
          example: 50000
        - name: engagementRateMin
          in: query
          description: >-
            Minimum engagement rate (percentage). 1-3% average, 3-6% good, 6%+
            excellent
          schema:
            type: number
            format: float
          example: 2.5
        - name: engagementRateMax
          in: query
          description: Maximum engagement rate (percentage)
          schema:
            type: number
            format: float
          example: 10
        - name: uploadsPerWeekMin
          in: query
          description: >-
            Minimum average posts per week (posting cadence). Omit or use 0 for
            no lower bound.
          schema:
            type: number
            format: float
          example: 3
        - name: uploadsPerWeekMax
          in: query
          description: Maximum average posts per week. Omit or use 0 for no upper bound.
          schema:
            type: number
            format: float
          example: 14
        - name: uploadsPerMonthMin
          in: query
          description: Minimum average posts per month. Omit or use 0 for no lower bound.
          schema:
            type: number
            format: float
          example: 10
        - name: uploadsPerMonthMax
          in: query
          description: Maximum average posts per month. Omit or use 0 for no upper bound.
          schema:
            type: number
            format: float
          example: 60
        - name: avgVideoDurationSecondsMin
          in: query
          description: >-
            Minimum average video duration in seconds. Omit or use 0 for no
            lower bound.
          schema:
            type: number
            format: float
          example: 15
        - name: avgVideoDurationSecondsMax
          in: query
          description: >-
            Maximum average video duration in seconds. Omit or use 0 for no
            upper bound.
          schema:
            type: number
            format: float
          example: 120
        - name: promotionsCountMin
          in: query
          description: >-
            Minimum count of promotion-type posts in the analyzed sample. Omit
            or use 0 for no lower bound.
          schema:
            type: integer
          example: 1
        - name: promotionsCountMax
          in: query
          description: Maximum promotion posts count. Omit or use 0 for no upper bound.
          schema:
            type: integer
          example: 50
        - name: affiliatePostsCountMin
          in: query
          description: >-
            Minimum count of affiliate-linked posts. Omit or use 0 for no lower
            bound.
          schema:
            type: integer
          example: 0
        - name: affiliatePostsCountMax
          in: query
          description: Maximum affiliate posts count. Omit or use 0 for no upper bound.
          schema:
            type: integer
          example: 20
        - name: sponsorshipPostsCountMin
          in: query
          description: Minimum count of sponsored posts. Omit or use 0 for no lower bound.
          schema:
            type: integer
          example: 0
        - name: sponsorshipPostsCountMax
          in: query
          description: Maximum sponsored posts count. Omit or use 0 for no upper bound.
          schema:
            type: integer
          example: 30
        - name: age
          in: query
          description: Age group (comma-separated for multiple)
          schema:
            type: string
            enum:
              - 0-9
              - 10-19
              - 20-29
              - 30-39
              - 40-49
              - 50-59
              - 60-69
              - 70-79
              - 80-89
              - 90-99
          example: 20-29,30-39
        - name: gender
          in: query
          description: Gender filter
          schema:
            type: string
            enum:
              - male
              - female
          example: female
        - name: race
          in: query
          description: Ethnicity filter (comma-separated for multiple)
          schema:
            type: string
            enum:
              - White
              - Black
              - Indian
              - East Asian
              - Southeast Asian
              - Middle Eastern
              - Latino Hispanic
          example: East Asian,Southeast Asian
        - name: hairColor
          in: query
          description: Hair color filter (comma-separated for multiple)
          schema:
            type: string
            enum:
              - Blonde hair
              - Brunette hair
              - Black hair
              - Red hair
              - White hair
          example: Blonde hair,Black hair
        - name: bodyComplexion
          in: query
          description: Body type / build filter (comma-separated for multiple)
          schema:
            type: string
            enum:
              - Skinny
              - Ordinary
              - Overweight
              - Hulk
          example: Skinny,Ordinary
        - name: mainCategory
          in: query
          description: Main content category
          schema:
            type: string
            enum:
              - Arts
              - Automotive
              - Beauty & Personal Care
              - Books & Literature
              - Business
              - Finance
              - Career & Jobs
              - Collectibles & Hobbies
              - Community
              - Ecommerce
              - Crafts & DIY
              - Culture
              - Education
              - Technology
              - Entertainment
              - Environment
              - Family
              - Parenting
              - Fashion
              - Film
              - Fitness
              - Health
              - Food
              - Gaming
              - Gardening & Agriculture
              - History
              - Home
              - Humor
              - Law
              - Government
              - Lifestyle
              - Marketing
              - Mental Health
              - Music
              - News & Media
              - Outdoors
              - Nature
              - Pets
              - Animals
              - Philosophy
              - Spirituality
              - Photography
              - Videography
              - Politics
              - Relationships
              - Religion
              - Science
              - Self-Improvement
              - Shopping
              - Social Media
              - Social Issues & Activism
              - Sports
              - Travel
              - Vehicles & Transportation
              - Virtual Reality
              - Weapons & Defense
              - Writing
              - Kids
          example: Fashion
        - name: subCategory
          in: query
          description: Sub-category of content (free text search)
          schema:
            type: string
          example: streetwear
        - name: bio
          in: query
          description: Keywords in creator's bio
          schema:
            type: string
          example: tiktok shop
        - name: promotedProducts
          in: query
          description: >-
            Products/services promoted by the creator (comma-separated for
            multiple)
          schema:
            type: string
          example: beef tallow,feastables
        - name: nichesToPromote
          in: query
          description: Suggested niches to promote (comma-separated for multiple)
          schema:
            type: string
          example: fashion,streetwear
        - name: country
          in: query
          description: Creator's country (full name)
          schema:
            type: string
          example: France
        - name: source
          in: query
          description: Platform / data source
          schema:
            type: string
            enum:
              - tiktok
              - instagram
              - youtube
              - twitter
              - linkedin
          example: tiktok
        - name: accountType
          in: query
          description: Creator account type
          schema:
            type: string
            enum:
              - faceless
              - ugc
              - agc
              - clipper
              - brand
          example: ugc
        - name: username
          in: query
          description: Filter creators by their handle
          schema:
            type: string
          example: creator_handle
        - name: language
          in: query
          description: Primary content language (lowercase)
          schema:
            type: string
            enum:
              - arabic
              - bengali
              - bosnian
              - bulgarian
              - cantonese
              - catalan
              - croatian
              - czech
              - danish
              - dutch
              - english
              - estonian
              - filipino
              - finnish
              - french
              - german
              - greek
              - gujarati
              - hausa
              - hebrew
              - hindi
              - hungarian
              - icelandic
              - indonesian
              - italian
              - japanese
              - javanese
              - kannada
              - kazakh
              - korean
              - latvian
              - lithuanian
              - malay
              - malayalam
              - mandarin
              - marathi
              - nepali
              - norwegian
              - pashto
              - persian
              - polish
              - portuguese
              - punjabi
              - romanian
              - russian
              - serbian
              - sinhala
              - slovak
              - slovenian
              - somali
              - spanish
              - swahili
              - swedish
              - tamil
              - telugu
              - thai
              - turkish
              - ukrainian
              - urdu
              - uzbek
              - vietnamese
              - yoruba
          example: english
        - name: hashtags
          in: query
          description: >-
            Filter by hashtags used in creator content (comma-separated). AND
            matching — all must be present. '#' prefix is optional
          schema:
            type: string
          example: fitness,gym
        - name: emailExists
          in: query
          description: Filter creators with available email
          schema:
            type: boolean
          example: true
        - name: email
          in: query
          description: Find creator by email
          schema:
            type: string
            format: email
          example: creator@example.com
        - name: sortBy
          in: query
          description: 'Field to sort results by. Default: date_created (newest first)'
          schema:
            type: string
            enum:
              - date_created
              - followers
              - engagement_rate
              - avg_views
              - avg_likes
              - avg_comments
          example: date_created
        - name: sortOrder
          in: query
          description: 'Sort direction. Default: desc (highest/newest first)'
          schema:
            type: string
            enum:
              - asc
              - desc
          example: desc
        - name: page
          in: query
          description: Page number for pagination
          schema:
            type: integer
            minimum: 1
          example: 1
        - name: perPage
          in: query
          description: Number of results per page (max 100)
          schema:
            type: integer
            minimum: 1
            maximum: 100
          example: 10
      responses:
        '200':
          description: Search response with userIds
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResponse'
        '400':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitExceeded'
components:
  schemas:
    SearchResponse:
      type: object
      properties:
        message:
          type: string
          example: OK
        params:
          type: object
          properties:
            page:
              type: integer
              example: 1
            perPage:
              type: integer
              example: 10
        response:
          type: object
          properties:
            data:
              type: array
              items:
                type: string
              example:
                - instagram_57971538386
                - instagram_58848167468
            page:
              type: integer
              example: 1
            next_page:
              type: integer
              example: 0
            total_pages:
              type: integer
              example: 10000
      required:
        - message
        - response
    Error:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
    RateLimitExceeded:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-ty-api-key
      description: API key for TopYappers API authentication

````