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

# Airdrop Search



## OpenAPI

````yaml openapi.json GET /gateway/v1/search/airdrop
openapi: 3.1.0
info:
  title: Hermod
  version: 0.0.1
servers:
  - url: https://api.asksurf.ai
security: []
paths:
  /gateway/v1/search/airdrop:
    get:
      tags:
        - Search
      summary: Airdrop Search
      description: |-
        Searches and filters airdrop opportunities.

        **Filters:** keyword, status, reward type, task type.

        Returns paginated results with optional task details.
      operationId: search-airdrop
      parameters:
        - description: Search keyword for coin name
          explode: false
          in: query
          name: q
          schema:
            description: Search keyword for coin name
            examples:
              - airdrop
            maxLength: 100
            type: string
        - description: >-
            Comma-separated lifecycle phases. `active` = tasks open, can
            participate (POTENTIAL + CONFIRMED). `claimable` = eligible, can
            claim (SNAPSHOT + VERIFICATION + REWARD_AVAILABLE). `completed` =
            done (DISTRIBUTED). Defaults to `active,claimable` to show
            actionable airdrops.
          explode: false
          in: query
          name: phase
          schema:
            default: active,claimable
            description: >-
              Comma-separated lifecycle phases. `active` = tasks open, can
              participate (POTENTIAL + CONFIRMED). `claimable` = eligible, can
              claim (SNAPSHOT + VERIFICATION + REWARD_AVAILABLE). `completed` =
              done (DISTRIBUTED). Defaults to `active,claimable` to show
              actionable airdrops.
            examples:
              - active
            type: string
        - description: Filter by reward type
          explode: false
          in: query
          name: reward_type
          schema:
            description: Filter by reward type
            enum:
              - airdrop
              - points
              - whitelist
              - nft
              - role
              - ambassador
            examples:
              - airdrop
            type: string
        - description: Filter activities containing tasks of this type
          explode: false
          in: query
          name: task_type
          schema:
            description: Filter activities containing tasks of this type
            enum:
              - social
              - bounty-platforms
              - testnet
              - mainnet
              - role
              - form
              - liquidity
              - mint-nft
              - game
              - trading
              - staking
              - depin
              - node
              - ambassador
              - hold
              - check-wallet
              - mint-domain
              - predictions
              - deploy
            examples:
              - social
            type: string
        - description: Only return activities with currently OPEN tasks
          explode: false
          in: query
          name: has_open
          schema:
            default: false
            description: Only return activities with currently OPEN tasks
            examples:
              - true
            type: boolean
        - description: Field to sort results by
          explode: false
          in: query
          name: sort_by
          schema:
            default: last_status_update
            description: Field to sort results by
            enum:
              - total_raise
              - xscore
              - last_status_update
            examples:
              - last_status_update
            type: string
        - description: Sort order
          explode: false
          in: query
          name: order
          schema:
            default: desc
            description: Sort order
            enum:
              - asc
              - desc
            examples:
              - desc
            type: string
        - description: Results per page
          explode: false
          in: query
          name: limit
          schema:
            default: 20
            description: Results per page
            examples:
              - 20
            format: int64
            maximum: 100
            minimum: 1
            type: integer
        - description: Pagination offset
          explode: false
          in: query
          name: offset
          schema:
            default: 0
            description: Pagination offset
            examples:
              - 0
            format: int64
            minimum: 0
            type: integer
        - description: Include full task list per activity
          explode: false
          in: query
          name: include_tasks
          schema:
            default: false
            description: Include full task list per activity
            examples:
              - true
            type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponseAirdropSearchItem'
          description: OK
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataAPIError'
          description: Error
      security:
        - AccessToken: []
components:
  schemas:
    DataResponseAirdropSearchItem:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - https://example.com/schemas/DataResponseAirdropSearchItem.json
          format: uri
          readOnly: true
          type: string
        data:
          items:
            $ref: '#/components/schemas/AirdropSearchItem'
          type:
            - array
            - 'null'
        meta:
          $ref: '#/components/schemas/OffsetMeta'
      required:
        - data
        - meta
      type: object
    DataAPIError:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - https://example.com/schemas/DataAPIError.json
          format: uri
          readOnly: true
          type: string
        error:
          $ref: '#/components/schemas/DataAPIErrorDetail'
      required:
        - error
      type: object
    AirdropSearchItem:
      additionalProperties: false
      properties:
        coin_symbol:
          description: Token ticker symbol
          type: string
        followers_count:
          description: X/Twitter follower count (0 if unknown)
          format: int64
          type: integer
        last_status_update:
          description: Last status change as Unix seconds
          format: int64
          type: integer
        logo_url:
          description: Project logo image URL
          type: string
        project_id:
          description: Surf project UUID if linked
          type: string
        project_name:
          description: Project/coin name
          type: string
        reward_date:
          description: Expected reward date as Unix seconds (0 if unknown)
          format: int64
          type: integer
        reward_type:
          description: 'Reward type: airdrop, points, whitelist, nft, role, ambassador'
          type: string
        status:
          description: >-
            Airdrop lifecycle stage: `POTENTIAL` (speculated, tasks open),
            `CONFIRMED` (announced, tasks open), `SNAPSHOT` (eligibility
            snapshot taken), `VERIFICATION` (claim window open),
            `REWARD_AVAILABLE` (ready to claim), `DISTRIBUTED` (sent,
            historical)
          type: string
        task_summary:
          $ref: '#/components/schemas/AirdropTaskSummary'
          description: Aggregated task statistics
        tasks:
          description: Full task list (only with include_tasks=true)
          items:
            $ref: '#/components/schemas/AirdropTaskItem'
          type:
            - array
            - 'null'
        total_raise:
          description: Total project fundraise in USD (0 if unknown)
          format: int64
          type: integer
        xscore:
          description: CryptoRank social score (0 if unknown)
          format: int64
          type: integer
      required:
        - project_name
        - status
        - total_raise
        - xscore
        - followers_count
        - reward_date
        - last_status_update
      type: object
    OffsetMeta:
      additionalProperties: false
      properties:
        cached:
          description: Whether this response was served from cache
          type: boolean
        credits_used:
          description: Credits deducted for this request
          format: int64
          type: integer
        limit:
          description: Maximum number of items returned in this response
          format: int64
          type: integer
        offset:
          description: Number of items skipped (pagination offset)
          format: int64
          type: integer
        total:
          description: >-
            Total number of matching items (before pagination). Omitted when
            total is unknown.
          format: int64
          type: integer
      required:
        - limit
        - offset
        - credits_used
        - cached
      type: object
    DataAPIErrorDetail:
      additionalProperties: false
      properties:
        code:
          type: string
        message:
          type: string
      required:
        - code
        - message
      type: object
    AirdropTaskSummary:
      additionalProperties: false
      properties:
        open:
          description: Number of currently open tasks
          format: int32
          type: integer
        total:
          description: Total number of tasks
          format: int32
          type: integer
        types:
          description: Distinct task types
          items:
            type: string
          type:
            - array
            - 'null'
      required:
        - total
        - open
        - types
      type: object
    AirdropTaskItem:
      additionalProperties: false
      properties:
        blockchains:
          description: Supported blockchain names
          items:
            type: string
          type:
            - array
            - 'null'
        close_date:
          description: Task close date as Unix seconds (0 if unknown)
          format: int64
          type: integer
        cost:
          description: Participation cost in USD (0 = free)
          format: int32
          type: integer
        external_link:
          description: Public participation URL
          type: string
        is_exclusive:
          description: Whether task is exclusive
          type: boolean
        open_date:
          description: Task open date as Unix seconds (0 if unknown)
          format: int64
          type: integer
        status:
          description: 'Task status: OPEN, CLOSED, UPCOMING'
          type: string
        time_minutes:
          description: Estimated time in minutes
          format: int32
          type: integer
        title:
          description: Task title
          type: string
        type:
          description: 'Task type: social, testnet, mainnet, staking, trading, etc.'
          type: string
      required:
        - title
        - type
        - status
        - is_exclusive
        - cost
        - time_minutes
        - open_date
        - close_date
      type: object

````