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

# Meta Ads

> Look up Meta ads for a company domain. Rate limit: 60 requests per minute per workspace.

Look up Meta ads for one company. Send exactly one `domain` field: a bare hostname or HTTP(S) URL. Paths and queries are ignored after normalization. IP literals, credentials, non-default ports, and invalid domain labels are rejected. The JSON body must fit within 16 KiB.

## Usage and credits

The limit is **60 requests per minute per workspace**. You need at least **1 credit** before the lookup can start. A finite numeric `number_of_ads` greater than zero costs **1 credit**. A zero, missing, nonnumeric, or nonpositive count costs **0 credits**.

Read `credits_consumed` for the cost of the lookup. Fields such as `page_id` and `number_of_ads` are optional and can vary in type; check them before use. A zero-ad result costs zero credits.

## Timeouts and retries

The lookup can take up to **90 seconds**. HTTP `504` means that lookup timed out without a debit. Use bounded backoff for temporary errors and rate limits.

This endpoint does not support caller idempotency keys. Retrying a successful lookup can run and bill another lookup, including when the original response was lost.

## Next step

Review [credit balance](/api-reference/credit-count) or [rate limits](/api-reference/rate-limits) before scheduling more lookups.


## OpenAPI

````yaml openapi.json POST /v1/meta-ads
openapi: 3.1.0
info:
  title: Airscale Public API
  version: '2026-09-11'
  description: Search, enrich, and resolve public business data with Airscale.
  x-airscale-source-repository: ViceScale/airscale-code
  x-airscale-source-sha: 1de19e1b70a052a4b8d9c2075021a7e5e7a94d51
servers:
  - url: https://api.airscale.io
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Search and discovery
    description: Search people, companies, and the web.
  - name: Contact data
    description: Find professional and personal contact data.
  - name: Profiles and reverse lookup
    description: Extract profiles or resolve a person from known contact data.
  - name: Post engagement
    description: Retrieve and enrich people who liked or commented on LinkedIn posts.
  - name: Account
    description: Inspect workspace account state.
  - name: Miscellaneous
    description: Check WhatsApp availability, Meta ads, and email deliverability.
paths:
  /v1/meta-ads:
    post:
      tags:
        - Miscellaneous
      summary: Look up Meta ads
      description: >-
        Look up ads for one company domain. Only a finite numeric number_of_ads
        greater than zero costs one credit; zero, missing, nonnumeric, or
        nonpositive counts cost zero. A balance of at least one credit is
        required before lookup. No caller idempotency key is supported; retrying
        a successful lookup can incur another charge.
      operationId: lookupMetaAds
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                domain:
                  type: string
                  minLength: 1
                  description: >-
                    Bare company hostname or HTTP(S) URL. Whitespace is trimmed;
                    hostname is lowercased and leading www. and trailing dot are
                    removed. Paths and queries are ignored. IP literals,
                    credentials, non-default ports, and invalid domain labels
                    are rejected. Maximum JSON body size: 16 KiB (oversize
                    returns 400).
              required:
                - domain
              additionalProperties: false
            examples:
              request:
                value:
                  domain: example.com
      responses:
        '200':
          description: >-
            Ad lookup result and credit cost. Ad fields are optional and their
            types can vary.
          content:
            application/json:
              schema:
                type: object
                properties:
                  page_id:
                    description: Meta page identifier, when present.
                  number_of_ads:
                    description: >-
                      Ad count, when present. Only a positive finite number is
                      billable.
                  credits_consumed:
                    type: integer
                    enum:
                      - 0
                      - 1
                  country_code: {}
                  continuation_token: {}
                  platform: {}
                  media_types: {}
                  sort_data: {}
                  active_status: {}
                  is_result_complete: {}
                  count_landing_pages: {}
                  unique_landing_pages: {}
                  start_min_date: {}
                  start_max_date: {}
                  results:
                    type: array
                    description: >-
                      Ads found for the page, when there are any. Ad fields
                      vary; check for missing or null values before using them.
                    items:
                      type: object
                      properties:
                        ad_archive_id: {}
                        collation_id: {}
                        page_id: {}
                        is_active: {}
                        page_name: {}
                        categories: {}
                        publisher_platform: {}
                        total_active_time: {}
                        entity_type: {}
                        url: {}
                        start_date:
                          description: Start time as a Unix timestamp in seconds.
                        end_date:
                          description: End time as a Unix timestamp in seconds.
                        start_date_string:
                          description: Start time as text.
                        end_date_string:
                          description: End time as text.
                        snapshot:
                          type: object
                          properties:
                            page_id: {}
                            page_profile_uri: {}
                            page_name: {}
                            page_profile_picture_url: {}
                            caption: {}
                            cta_text: {}
                            cta_type: {}
                            display_format: {}
                            link_description: {}
                            link_url: {}
                            images: {}
                            page_categories: {}
                            page_like_count: {}
                            title: {}
                            videos: {}
                            extra_links: {}
                            extra_texts: {}
                            extra_images: {}
                            extra_videos: {}
                            current_page_name: {}
                            page_entity_type: {}
                            page_is_profile_page: {}
                            body:
                              description: Ad text, as { text }.
                              properties:
                                text: {}
                            cards:
                              type: array
                              description: Carousel cards, when the ad has several.
                              items:
                                type: object
                                properties:
                                  body: {}
                                  cta_type: {}
                                  caption: {}
                                  link_description: {}
                                  link_url: {}
                                  title: {}
                                  cta_text: {}
                                  video_hd_url: {}
                                  video_preview_image_url: {}
                                  video_sd_url: {}
                                  watermarked_video_hd_url: {}
                                  watermarked_video_sd_url: {}
                                  image_crops: {}
                                  original_image_url: {}
                                  resized_image_url: {}
                                  watermarked_resized_image_url: {}
                required:
                  - credits_consumed
                additionalProperties: true
              examples:
                ads:
                  value:
                    page_id: '100000000000001'
                    country_code: null
                    continuation_token: example-continuation-token
                    platform:
                      - FACEBOOK
                      - INSTAGRAM
                    media_types: all
                    sort_data: SORT_BY_TOTAL_IMPRESSIONS
                    active_status: active
                    is_result_complete: false
                    number_of_ads: 4
                    count_landing_pages: 1
                    unique_landing_pages:
                      - https://www.example.com/
                    start_min_date: '2026-01-01'
                    start_max_date: '2026-03-01'
                    results:
                      - ad_archive_id: '200000000000001'
                        collation_id: null
                        page_id: '100000000000001'
                        is_active: true
                        page_name: Example Company
                        categories:
                          - UNKNOWN
                        start_date: 1767225600
                        end_date: 1772323200
                        start_date_string: '2026-01-01'
                        end_date_string: '2026-03-01'
                        publisher_platform:
                          - FACEBOOK
                          - INSTAGRAM
                        total_active_time: null
                        entity_type: null
                        url: https://www.example.com/ads/200000000000001
                        snapshot:
                          page_id: '100000000000001'
                          page_profile_uri: https://www.example.com/example-company
                          page_name: Example Company
                          page_profile_picture_url: https://www.example.com/images/example-company.png
                          caption: example.com
                          title: Example ad title
                          body:
                            text: Synthetic ad text for API documentation.
                          cta_text: Learn more
                          cta_type: LEARN_MORE
                          display_format: DCO
                          link_description: null
                          link_url: https://www.example.com/
                          page_categories:
                            - Software
                          page_like_count: 1200
                          images: []
                          videos: []
                          extra_links: []
                          extra_texts: []
                          extra_images: []
                          extra_videos: []
                          current_page_name: null
                          page_entity_type: null
                          page_is_profile_page: null
                          cards:
                            - body: Synthetic card text.
                              caption: example.com
                              title: Example card title
                              cta_text: Learn more
                              cta_type: LEARN_MORE
                              link_description: null
                              link_url: https://www.example.com/
                              original_image_url: https://www.example.com/images/example-ad.png
                              resized_image_url: >-
                                https://www.example.com/images/example-ad-small.png
                              watermarked_resized_image_url: null
                              video_hd_url: null
                              video_sd_url: null
                              video_preview_image_url: null
                              watermarked_video_hd_url: null
                              watermarked_video_sd_url: null
                              image_crops: []
                    credits_consumed: 1
                noAds:
                  value:
                    number_of_ads: 0
                    credits_consumed: 0
        '400':
          description: Invalid JSON, domain, extra fields, or body larger than 16 KiB.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                  operation_id:
                    type: string
                    format: uuid
                    description: Operation UUID.
                required:
                  - error
                additionalProperties: true
              examples: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          description: Insufficient credits.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                  operation_id:
                    type: string
                    format: uuid
                    description: Operation UUID.
                required:
                  - error
                additionalProperties: true
              examples: {}
        '429':
          description: Workspace rate limit exceeded.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                  operation_id:
                    type: string
                    format: uuid
                    description: Operation UUID.
                required:
                  - error
                additionalProperties: true
              examples: {}
        '502':
          description: >-
            The ad lookup failed. Retry with increasing delays and a fixed retry
            limit.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                  operation_id:
                    type: string
                    format: uuid
                    description: Operation UUID.
                required:
                  - error
                additionalProperties: true
              examples: {}
        '503':
          description: >-
            The request is temporarily unavailable. Retry with increasing delays
            and a fixed retry limit; contact support if errors persist.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                  operation_id:
                    type: string
                    format: uuid
                    description: Operation UUID.
                required:
                  - error
                additionalProperties: true
              examples: {}
        '504':
          description: >-
            The lookup exceeded its 90-second timeout. No debit is made for this
            timeout.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                  operation_id:
                    type: string
                    format: uuid
                    description: Operation UUID.
                required:
                  - error
                additionalProperties: true
              examples: {}
components:
  responses:
    Unauthorized:
      description: The Bearer token is missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      additionalProperties: true
      properties:
        error:
          type: string
        message:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: >-
        Use an Airscale workspace API key. Never expose the key in client-side
        code.

````