> ## 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.

# キーワードボリューム

> Weekly and monthly volume projections for one keyword.

Each organization can look up 1,000 distinct keywords per UTC day; over
the cap returns 429 with Retry-After. Slices with two or fewer users are
omitted for privacy.

1 つのキーワードについて、週次および月次のボリューム予測をオンデマンドで取得します。
`keyword`、`matching_type`、期間を指定し、`regions`
と `platforms` で絞り込みます。

* **`matching_type`:** `exact_match` または `phrase_match`。
* **行:** 国、プラットフォーム、期間ごとに 1 行です。レスポンスには週次と月次の両方の行が含まれ、`frequency` (`Week - Monday Start` または `Month`) で区別します。
* **プライバシー:** ユーザーが 2 人以下のスライスはレスポンスから除外されます。
* **`organization_id`:** API キーが複数の組織にアクセスできる場合にのみ必須です。どの組織の 1 日あたりの利用枠を消費するかを指定します。

<Note>
  **1 日あたりのキーワード利用枠。** 各組織は、UTC の 1 日あたり 1,000 件の異なる
  キーワードを検索できます。同じ日に既に検索したキーワードを再度検索しても
  利用枠は消費されません。上限を超えて新しいキーワードを検索すると、`X-KeywordQuota-*`
  および `Retry-After` ヘッダーとともに `429` が返されます。行が返されなかった検索も
  利用枠にカウントされます。
</Note>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://api.tryprofound.com/v2/prompt-volumes/volume/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/volume/on-the-fly
openapi: 3.1.0
info:
  title: External API
  version: 0.60.2
  x-scalar-sdk-installation:
    - lang: Python
      description: |-
        ```sh
        pip install profound
        ```
    - lang: TypeScript
      description: |-
        ```sh
        npm install @profoundai/client
        ```
    - lang: Rust
      description: |-
        ```sh
        cargo add profound
        ```
servers:
  - url: https://api.tryprofound.com
    description: Production Server
security:
  - APIKeyHeader:
      - X-API-Key
  - BearerAuth: []
paths:
  /v2/prompt-volumes/volume/on-the-fly:
    post:
      tags:
        - Prompt Volumes
      summary: Get Keyword Volume
      description: |-
        Weekly and monthly volume projections for one keyword.

        Each organization can look up 1,000 distinct keywords per UTC day; over
        the cap returns 429 with Retry-After. Slices with two or fewer users are
        omitted for privacy.
      operationId: get_on_the_fly_volume_v2_prompt_volumes_volume_on_the_fly_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OtfVolumeRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OtfVolumeResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
        - BearerAuth: []
      x-codeSamples:
        - label: Python
          lang: Python
          source: |-
            import os

            from profound import Profound

            client = Profound(
                api_key=os.environ.get("PROFOUND_API_KEY"),
            )

            volume = client.prompt_volumes.volume.on_the_fly(
                keyword="",
                matching_type="exact_match",
                start_date="2024-01-01",
                end_date="2024-01-01",
            )

            print(volume)
        - label: TypeScript
          lang: TypeScript
          source: |-
            import Profound from '@profoundai/client';

            const client = new Profound({
              apiKey: process.env['PROFOUND_API_KEY'], // defaults to the PROFOUND_API_KEY env var
              environment: 'production',
            });

            const volume = await client.promptVolumes.volume.onTheFly({
              keyword: '',
              matching_type: 'exact_match',
              start_date: '2024-01-01',
              end_date: '2024-01-01',
            });

            console.log(volume);
        - label: rust
          lang: rust
          source: |-
            use profound::*;

            #[tokio::main]
            async fn main() -> Result<(), Box<dyn std::error::Error>> {
                let client = ProfoundClient::builder()
                    .api_key(std::env::var("PROFOUND_API_KEY")?)
                    .build()?;

                let response = client
                    .prompt_volumes()
                    .volume()
                    .on_the_fly(OtfVolumeRequest {
                        keyword: "".to_string(),
                        matching_type: OtfVolumeRequestMatchingType::ExactMatch,
                        start_date: chrono::Utc::now().date_naive(),
                        end_date: chrono::Utc::now().date_naive(),
                        regions: None,
                        platforms: None,
                        organization_id: None,
                    })
                    .send()
                    .await?;

                println!("{:?}", response);

                Ok(())
            }
components:
  schemas:
    OtfVolumeRequest:
      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.
        organization_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Organization Id
          description: >-
            Organization whose daily keyword allowance is used. Required in the
            JSON request body for API keys with multiple organizations that have
            API access. If omitted or null, defaults to the API key's sole
            organization with API access or the token's active organization. For
            OAuth/M2M tokens, any supplied organization_id must match the
            token's organization.
      type: object
      required:
        - keyword
        - matching_type
        - start_date
        - end_date
      title: OtfVolumeRequest
    OtfVolumeResponse:
      properties:
        info:
          $ref: '#/components/schemas/VolumeResponseInfo'
        data:
          items:
            $ref: '#/components/schemas/OtfVolumeData'
          type: array
          title: Data
      type: object
      required:
        - info
        - data
      title: OtfVolumeResponse
      description: Response wrapper with metadata and data array.
    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.
    OtfVolumeData:
      properties:
        country_code:
          type: string
          title: Country Code
        platform:
          type: string
          title: Platform
        matching_type:
          type: string
          title: Matching Type
        frequency:
          type: string
          title: Frequency
        date:
          type: string
          format: date
          title: Date
        volume:
          type: number
          title: Volume
      type: object
      required:
        - country_code
        - platform
        - matching_type
        - frequency
        - date
        - volume
      title: OtfVolumeData
      description: |-
        Single projected volume row.

        Each keyword query returns both weekly and monthly rows in one response;
        frequency distinguishes them and matches the fast table's values
        ('Week - Monday Start' / 'Month').
    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
      bearerFormat: JWT

````