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

# Estimate ad reach

> Returns provider reach estimates for a targeting specification.



## OpenAPI

````yaml /api/openapi.json post /v1/ads/targeting/reach-estimate
openapi: 3.1.0
info:
  title: Kavenio API
  version: 1.0.0
  license:
    name: Proprietary
    url: https://kavenio.com/terms
  description: Generated OpenAPI document for the stable Kavenio public API.
servers:
  - url: https://api.kavenio.com
security:
  - bearerAuth: []
tags:
  - name: API keys
    description: Manage Kavenio API keys for the authenticated user.
  - name: Integrations
    description: Connect automation clients and manage workflow subscriptions.
  - name: Feature requests
    description: Submit feature requests from authenticated users.
  - name: Posts
    description: Create, schedule, update, and manage post lifecycle actions.
  - name: Queue
    description: Manage reusable post queue schedules and preview slots.
  - name: Media
    description: Upload, presign, and validate media assets.
  - name: Validation
    description: Validate post payloads and platform content length limits.
  - name: Connect
    description: Start and complete account connection flows.
  - name: Accounts
    description: Manage connected social accounts and account health.
  - name: Telegram
    description: Manage Telegram-specific connected account settings.
  - name: Discord
    description: Manage Discord messages, roles, pins, events, and settings.
  - name: Google Business
    description: Manage Google Business locations, reviews, and helpers.
  - name: Ads
    description: Create, read, cancel, and inspect advertising resources.
  - name: Ad audiences
    description: Manage advertising audiences and audience members.
  - name: Ad catalogs
    description: Inspect advertising catalogs and product sets.
  - name: Ad targeting
    description: Search targeting entities and estimate audience reach.
  - name: Ad conversions
    description: Manage conversion destinations and send conversion events.
  - name: Ad leads
    description: Manage lead forms and retrieve advertising leads.
  - name: Tracking tags
    description: Manage Meta tracking tags and tag sharing.
  - name: Platform credentials
    description: Manage organization platform app credentials.
  - name: Analytics
    description: Read provider analytics and operational inbox data.
  - name: WhatsApp conversions
    description: Read and send WhatsApp conversion events.
  - name: Activity
    description: Read operational activity events.
  - name: Webhooks
    description: Manage webhook endpoints and delivery logs.
paths:
  /v1/ads/targeting/reach-estimate:
    post:
      tags:
        - Ad targeting
      summary: Estimate ad reach
      description: Returns provider reach estimates for a targeting specification.
      operationId: estimateAdReach
      requestBody:
        required: true
        content:
          application/json:
            example:
              accountId: bbbbbbbbbbbbbbbb
              adAccountId: ad_account_example
              spec:
                countries:
                  - US
            schema:
              type: object
              properties:
                accountId:
                  type: string
                  minLength: 16
                  maxLength: 16
                  pattern: ^[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]{16}$
                adAccountId:
                  type: string
                  minLength: 1
                spec:
                  type: object
                  properties:
                    countries:
                      type: array
                      items:
                        type: string
                        minLength: 2
                    regions:
                      type: array
                      items:
                        type: object
                        properties:
                          key:
                            type: string
                            minLength: 1
                          name:
                            type: string
                            minLength: 1
                        required:
                          - key
                        additionalProperties: false
                    cities:
                      type: array
                      items:
                        type: object
                        properties:
                          key:
                            type: string
                            minLength: 1
                          name:
                            type: string
                            minLength: 1
                          radius:
                            type: number
                            exclusiveMinimum: 0
                          distanceUnit:
                            type: string
                            enum:
                              - mile
                              - kilometer
                        required:
                          - key
                        additionalProperties: false
                    zips:
                      type: array
                      items:
                        type: object
                        properties:
                          key:
                            type: string
                            minLength: 1
                          name:
                            type: string
                            minLength: 1
                        required:
                          - key
                        additionalProperties: false
                    metros:
                      type: array
                      items:
                        type: object
                        properties:
                          key:
                            type: string
                            minLength: 1
                          name:
                            type: string
                            minLength: 1
                        required:
                          - key
                        additionalProperties: false
                    customLocations:
                      type: array
                      items:
                        type: object
                        properties:
                          latitude:
                            type: number
                            minimum: -90
                            maximum: 90
                          longitude:
                            type: number
                            minimum: -180
                            maximum: 180
                          radius:
                            type: number
                            exclusiveMinimum: 0
                          distanceUnit:
                            type: string
                            enum:
                              - mile
                              - kilometer
                          name:
                            type: string
                            minLength: 1
                          address:
                            type: string
                            minLength: 1
                        required:
                          - latitude
                          - longitude
                          - radius
                          - distanceUnit
                        additionalProperties: false
                    excludedLocations:
                      type: object
                      propertyNames:
                        type: string
                      additionalProperties: {}
                    ageMin:
                      type: integer
                      minimum: 13
                      maximum: 100
                    ageMax:
                      type: integer
                      minimum: 13
                      maximum: 100
                    gender:
                      type: string
                      enum:
                        - all
                        - male
                        - female
                    incomeTier:
                      type: string
                      enum:
                        - top_5
                        - top_10
                        - top_10_25
                        - top_25_50
                    languages:
                      type: array
                      items:
                        type: string
                        minLength: 1
                    interests:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                            minLength: 1
                          key:
                            type: string
                            minLength: 1
                          name:
                            type: string
                            minLength: 1
                        additionalProperties: {}
                    behaviors:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                            minLength: 1
                          key:
                            type: string
                            minLength: 1
                          name:
                            type: string
                            minLength: 1
                        additionalProperties: {}
                    demographics:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                            minLength: 1
                          key:
                            type: string
                            minLength: 1
                          name:
                            type: string
                            minLength: 1
                        additionalProperties: {}
                    industries:
                      type: array
                      items:
                        type: string
                        minLength: 1
                    companySizes:
                      type: array
                      items:
                        type: string
                        minLength: 1
                    seniorities:
                      type: array
                      items:
                        type: string
                        minLength: 1
                    jobFunctions:
                      type: array
                      items:
                        type: string
                        minLength: 1
                    audienceInclude:
                      type: array
                      items:
                        type: string
                        minLength: 1
                    audienceExclude:
                      type: array
                      items:
                        type: string
                        minLength: 1
                    placements:
                      type: object
                      propertyNames:
                        type: string
                      additionalProperties: {}
                    specialAdCategories:
                      type: array
                      items:
                        type: string
                        minLength: 1
                  additionalProperties: {}
                optimizationGoal:
                  type: string
                  minLength: 1
              required:
                - accountId
                - adAccountId
                - spec
              additionalProperties: false
      responses:
        '200':
          description: Estimate ad reach completed.
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      ok:
                        type: boolean
                        x-kavenio-const: true
                      data:
                        type: object
                        properties:
                          available:
                            type: boolean
                          lower:
                            anyOf:
                              - type: integer
                                minimum: 0
                                maximum: 9007199254740991
                              - type: 'null'
                          upper:
                            anyOf:
                              - type: integer
                                minimum: 0
                                maximum: 9007199254740991
                              - type: 'null'
                          daily:
                            anyOf:
                              - type: integer
                                minimum: 0
                                maximum: 9007199254740991
                              - type: 'null'
                          currency:
                            anyOf:
                              - type: string
                                minLength: 1
                              - type: 'null'
                          estimateReady:
                            type: boolean
                        required:
                          - available
                        additionalProperties: false
                    required:
                      - ok
                      - data
                    additionalProperties: false
                  - type: object
                    properties:
                      ok:
                        type: boolean
                        x-kavenio-const: false
                      error:
                        type: object
                        properties:
                          code:
                            type: string
                            minLength: 1
                          message:
                            type: string
                            minLength: 1
                          details: {}
                        required:
                          - code
                          - message
                        additionalProperties: false
                    required:
                      - ok
                      - error
                    additionalProperties: false
        '401':
          description: Authentication failed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    x-kavenio-const: false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        minLength: 1
                      message:
                        type: string
                        minLength: 1
                      details: {}
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - ok
                  - error
                additionalProperties: false
        '422':
          description: Request validation failed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    x-kavenio-const: false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        minLength: 1
                      message:
                        type: string
                        minLength: 1
                      details: {}
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Request failed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    x-kavenio-const: false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        minLength: 1
                      message:
                        type: string
                        minLength: 1
                      details: {}
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - ok
                  - error
                additionalProperties: false
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Clerk session or OAuth token

````