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

# Get mindshare map

> Return top projects by mindshare with handle and optional post overlays. Supports API key auth or x402 fallback.



## OpenAPI

````yaml /api-reference/openapi.json post /api/v1/projects/mindshare-map
openapi: 3.1.0
info:
  title: Kanarie API
  description: >-
    Crypto content search, project intelligence, mindshare, fundamentals, and
    wallet data APIs.
  version: 1.0.0
  license:
    name: Proprietary
    identifier: LicenseRef-Proprietary
servers:
  - url: https://api.kanarie.xyz
    description: Production
security:
  - bearerAuth: []
  - kanarieApiKey: []
tags:
  - name: Health
    description: Service health endpoints.
  - name: Content
    description: Search content and rank project or handle mentions.
  - name: Projects
    description: Search, filter, map, and analyze crypto projects.
  - name: Data
    description: Virality and fundamentals datasets.
  - name: Wallets
    description: Smart money and wallet PnL datasets.
paths:
  /api/v1/projects/mindshare-map:
    post:
      tags:
        - Projects
      summary: Get mindshare map
      description: >-
        Return top projects by mindshare with handle and optional post overlays.
        Supports API key auth or x402 fallback.
      operationId: postProjectsMindshareMap
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MindshareMapRequest'
            examples:
              map:
                value:
                  project_limit: 20
                  sort_by: mindshare_change_24h
                  included_attributes:
                    - mindshare
                    - market_data
                    - twitter_profile
                  posts_per_handle: 2
                  max_character_count: 280
      responses:
        '200':
          $ref: '#/components/responses/MindshareMapSuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  schemas:
    MindshareMapRequest:
      type: object
      properties:
        project_limit:
          type: integer
          minimum: 1
          maximum: 100
          default: 50
        sort_by:
          $ref: '#/components/schemas/MindshareMapSort'
        sort_direction:
          $ref: '#/components/schemas/SortDirection'
        mindshare_type:
          $ref: '#/components/schemas/MindshareType'
        min_market_cap:
          type:
            - number
            - 'null'
          minimum: 0
        tradable_chains:
          type: array
          items:
            type: string
            enum:
              - solana
              - ethereum
              - base
              - arbitrum
              - bittensor
        exclude_wrapped:
          type: boolean
        exclude_stablecoins:
          type: boolean
        ecosystems:
          type: array
          maxItems: 5
          items:
            type: string
        categories:
          type: array
          maxItems: 5
          items:
            type: string
        include_mindshare_history:
          type: boolean
        include_momentum_history:
          type: boolean
        dynamic_developments_limit:
          type:
            - integer
            - 'null'
          minimum: 0
          maximum: 25
        dev_half_life_hours:
          type: number
          minimum: 1
          maximum: 720
        handle_days_back:
          type: integer
          minimum: 1
          maximum: 30
        min_handles_per_project:
          type: integer
          minimum: 0
          maximum: 50
        max_handles_per_project:
          type: integer
          minimum: 1
          maximum: 50
        handle_scaling:
          $ref: '#/components/schemas/HandleScaling'
        min_handle_relevance:
          type: number
          minimum: 0
          maximum: 1
        person_only:
          type: boolean
        include_retweets:
          type: boolean
        posts_per_handle:
          type: integer
          minimum: 0
          maximum: 20
        max_character_count:
          type: integer
          minimum: 0
          maximum: 5000
          default: 0
        image_limit:
          type: integer
          minimum: 0
          maximum: 10
          default: 3
        included_attributes:
          type: array
          items:
            $ref: '#/components/schemas/MindshareMapAttribute'
          default:
            - mindshare
            - market_data
            - twitter_profile
    MindshareMapSort:
      type: string
      enum:
        - mindshare_24h
        - mindshare_7d
        - mindshare_change_24h
        - mindshare_change_7d
    SortDirection:
      type: string
      enum:
        - asc
        - desc
    MindshareType:
      type: string
      enum:
        - social
        - news
        - weighted
      default: weighted
    HandleScaling:
      type: string
      enum:
        - sqrt
        - linear
        - fixed
    MindshareMapAttribute:
      type: string
      enum:
        - developments
        - technical_analysis
        - market_data
        - mindshare
        - detailed_description
        - metadata
        - post_key_points
        - post_images
        - twitter_profile
    GenericSuccessResponse:
      type: object
      required:
        - success
      properties:
        success:
          type: boolean
        error:
          type:
            - string
            - 'null'
        data:
          type:
            - object
            - array
            - 'null'
          additionalProperties: true
          items:
            $ref: '#/components/schemas/ObjectAny'
        analysis:
          $ref: '#/components/schemas/ObjectAny'
        results:
          type: array
          items:
            $ref: '#/components/schemas/ObjectAny'
        projects:
          type: array
          items:
            $ref: '#/components/schemas/ObjectAny'
        metadata:
          $ref: '#/components/schemas/ObjectAny'
      additionalProperties: true
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: string
        details:
          type: array
          items:
            type: string
        reason:
          type: string
      additionalProperties: true
    PaymentRequiredResponse:
      type: object
      required:
        - x402Version
        - error
        - accepts
      properties:
        x402Version:
          type: integer
          example: 2
        error:
          type: string
          example: Payment required
        accepts:
          type: array
          items:
            type: object
            additionalProperties: true
      additionalProperties: true
    RateLimitResponse:
      type: object
      required:
        - error
        - limit
        - plan
        - window
        - retryAfter
      properties:
        error:
          type: string
          example: Rate limit exceeded
        limit:
          type: integer
        plan:
          type: string
          enum:
            - free
            - casual
            - pro
            - enterprise
          example: casual
        window:
          type: string
          example: 15 minutes
        retryAfter:
          type: integer
          example: 900
    ObjectAny:
      type: object
      additionalProperties: true
  responses:
    MindshareMapSuccess:
      description: Mindshare map projects, handles, posts, and metadata.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GenericSuccessResponse'
          examples:
            success:
              value:
                success: true
                error: null
                data:
                  meta:
                    project_count: 20
                    handle_count: 200
                  projects:
                    - project_id: 1
                      project_name: Jupiter
                      symbol: JUP
                      handles:
                        - handle: jup_dev
                          total_relevance: 0.87
                metadata:
                  project_count: 20
    BadRequest:
      description: The request body or query parameters failed validation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            validation:
              value:
                error: Validation failed
                details:
                  - limit must be a number between 1 and 100
    Unauthorized:
      description: The API key header is missing.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            missing:
              value:
                error: >-
                  Missing API key. Expected Authorization: Bearer <api-key> or
                  x-kanarie-api-key: <api-key>.
    PaymentRequired:
      description: >-
        x402 payment is required when no API key is present, API-key auth fails
        client-side checks, or an API key exceeds plan limits on an x402-enabled
        endpoint.
      headers:
        X-Payment-Required:
          description: Encoded x402 payment requirements.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PaymentRequiredResponse'
    Forbidden:
      description: >-
        The API key is invalid, inactive, expired, or unauthorized for the
        request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            invalid:
              value:
                error: Invalid API key
    RateLimited:
      description: >-
        The API key exceeded a route limit on an API-key-only path. x402-enabled
        endpoints normally return payment requirements for over-limit requests.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RateLimitResponse'
    InternalError:
      description: The API encountered an internal error while processing the request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            internal:
              value:
                error: Internal server error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Kanarie API key
      description: >-
        Preferred Kanarie API key authentication using Authorization: Bearer
        <api-key>.
      x-default: YOUR_KANARIE_API_KEY
    kanarieApiKey:
      type: apiKey
      in: header
      name: x-kanarie-api-key
      description: Kanarie API key header for current clients.
      x-default: YOUR_KANARIE_API_KEY

````