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

# Keyword Intent Shares

> Intent shares for one keyword across the requested cohort weeks.

Shares are fractions from 0 to 1. Cohorts with two or fewer matching users
are omitted for privacy. Doesn't use the daily keyword allowance.

The mix of user intents behind conversations that match one keyword,
averaged across the weeks in your date range. Takes the same `keyword`,
`matching_type`, date range, `regions`, and `platforms` as
[Keyword Volume](/rest-api/prompt-volumes/query-volume-v2).

* **Rows:** one per intent, with `main_classification`, an optional `sub_category_classification`, and `pct_conversation`.
* **`pct_conversation`** is a fraction from 0 to 1 of the classified matching conversations. Multiply by 100 for a percentage.
* **Privacy:** weeks with two or fewer matching users are left out.

<Note>
  This endpoint doesn't use your daily keyword allowance. It shares a burst
  rate limit with [Keyword Volume](/rest-api/prompt-volumes/query-volume-v2).
</Note>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://api.tryprofound.com/v2/prompt-volumes/intents/on-the-fly \
    -H "X-API-Key: <your-api-key>" \
    -H "Content-Type: application/json" \
    -d '{
      "keyword": "ai search optimization",
      "matching_type": "phrase_match",
      "start_date": "2026-08-01",
      "end_date": "2026-08-31"
    }'
  ```
</RequestExample>


## OpenAPI

````yaml POST /v2/prompt-volumes/intents/on-the-fly
openapi: 3.1.0
info:
  title: External API
  version: 0.60.2
servers:
  - url: https://api.tryprofound.com
    description: Production Server
security: []
paths:
  /v2/prompt-volumes/intents/on-the-fly:
    post:
      tags:
        - Prompt Volumes
      summary: Get Keyword Intent Shares
      description: >-
        Intent shares for one keyword across the requested cohort weeks.


        Shares are fractions from 0 to 1. Cohorts with two or fewer matching
        users

        are omitted for privacy. Doesn't use the daily keyword allowance.
      operationId: get_on_the_fly_intent_shares_v2_prompt_volumes_intents_on_the_fly_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OtfIntentSharesQuery'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OtfIntentSharesResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
        - BearerAuth: []
components:
  schemas:
    OtfIntentSharesQuery:
      properties:
        keyword:
          type: string
          title: Keyword
        matching_type:
          type: string
          enum:
            - exact_match
            - phrase_match
          title: Matching Type
        start_date:
          type: string
          format: date
          title: Start Date
        end_date:
          type: string
          format: date
          title: End Date
        regions:
          items:
            type: string
          type: array
          title: Regions
          description: >-
            ISO 3166-1 alpha-3 country codes (e.g. USA). Omit to include every
            region.
        platforms:
          items:
            type: string
            enum:
              - chatgpt.com
              - gemini.google.com
              - perplexity.ai
          type: array
          title: Platforms
          description: Platforms to restrict to. Omit to include every platform.
      type: object
      required:
        - keyword
        - matching_type
        - start_date
        - end_date
      title: OtfIntentSharesQuery
      description: Query for on-the-fly intent shares for a single keyword.
    OtfIntentSharesResponse:
      properties:
        info:
          $ref: '#/components/schemas/VolumeResponseInfo'
        data:
          items:
            $ref: '#/components/schemas/OtfIntentShareData'
          type: array
          title: Data
      type: object
      required:
        - info
        - data
      title: OtfIntentSharesResponse
      description: Response wrapper for on-the-fly intent shares.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    VolumeResponseInfo:
      properties:
        total_rows:
          type: integer
          title: Total Rows
        truncated:
          type: boolean
          title: Truncated
          default: false
        query:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Query
      type: object
      required:
        - total_rows
      title: VolumeResponseInfo
      description: |-
        Metadata for volume query response.
        truncated indicates if results hit MAX_ROWS limit.
    OtfIntentShareData:
      properties:
        main_classification:
          type: string
          title: Main Classification
        sub_category_classification:
          anyOf:
            - type: string
            - type: 'null'
          title: Sub Category Classification
        pct_conversation:
          type: number
          title: Pct Conversation
      type: object
      required:
        - main_classification
        - sub_category_classification
        - pct_conversation
      title: OtfIntentShareData
      description: Intent share averaged across the requested cohort date range.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
    BearerAuth:
      type: http
      scheme: bearer

````