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

# List post engagement monitors

> List the post engagement monitors in a workspace with their settings, results table, and source, engager and unread counts. Rate limit: 120 requests per fixed minute per API key, shared by all post engagement monitor endpoints.

> [!NOTE]
>
> Post engagement monitoring requires a **V2 workspace API key**. Legacy V1 API keys are not supported by these endpoints. Monitors and their credits belong to the V2 workspace associated with the key.

List every post engagement monitor in the authenticated workspace, most recently updated first, including monitors created in the Airscale app. Each monitor includes its status, schedule, engagement types, filters, results-table state, webhook state, `source_count`, `engager_count`, and `unread_engager_count`.

> [!NOTE]
>
> This operation is read-only and spends no credits. It never returns a webhook signing secret.

`engager_count` counts engagers delivered to the results table, and `unread_engager_count` is an exact count independent of any page size. A paused monitor stays in the list so you can resume it later. Deleted monitors are not listed. If a create request's response was lost, list monitors before deciding whether to create another.

## Next step

Open [Get a post engagement monitor](https://docs.airscale.io/api-reference/post-engagement-monitors/get.md) for its sources.


## OpenAPI

````yaml openapi.json GET /v1/post-engagement-monitors
openapi: 3.1.0
info:
  title: Airscale Public API
  version: '2026-09-11'
  description: >-
    Search, enrich, resolve public business data, and monitor job changes 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: LinkedIn content
    description: >-
      Search LinkedIn posts, read profile and company feeds, and retrieve
      profile comments and comment reactions.
  - name: Job change monitoring
    description: Track LinkedIn profiles and receive job-change events.
  - name: New hire monitoring
    description: Watch companies or the market for people who start a matching role.
  - name: Post engagement monitoring
    description: >-
      Follow LinkedIn company pages and profiles and receive the people who
      engage with their posts.
  - name: Account
    description: Inspect workspace account state.
  - name: Miscellaneous
    description: >-
      Find website technologies and check WhatsApp availability, Meta ads, and
      email deliverability.
paths:
  /v1/post-engagement-monitors:
    get:
      tags:
        - Post engagement monitoring
      summary: List post engagement monitors
      description: >-
        Lists every post engagement monitor in the authenticated workspace,
        including monitors created in the Airscale app, most recently updated
        first, with source, engager and unread-engager counts. Signing secrets
        are never returned. Requires a V2 workspace API key. Legacy V1 API keys
        are not supported. Monitors and their credits belong to the V2
        workspace.
      operationId: listPostEngagementMonitors
      responses:
        '200':
          description: The workspace monitors.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - monitors
                properties:
                  monitors:
                    type: array
                    items:
                      $ref: '#/components/schemas/PostEngagementMonitor'
              examples:
                success:
                  summary: Successful response
                  value:
                    monitors:
                      - id: 71111111-1111-4111-8111-111111111111
                        name: Competitor audiences
                        status: active
                        frequency: daily
                        engagement_types:
                          - reactions
                          - comments
                        include_existing_engagers: false
                        filters:
                          titles:
                            - VP
                            - Head of
                          locations:
                            - France
                          excluded_company_urls:
                            - https://www.linkedin.com/company/example-company
                        results_table_id: 74444444-4444-4444-8444-444444444444
                        results_status: ready
                        results_error: null
                        next_check_at: '2026-11-03T09:00:00.000Z'
                        last_checked_at: '2026-11-02T09:00:00.000Z'
                        last_error: null
                        webhook_url: https://hooks.example.com/airscale/engagers
                        webhook_configured: true
                        source_count: 2
                        engager_count: 37
                        unread_engager_count: 5
                        created_at: '2026-11-02T08:58:00.000Z'
                        updated_at: '2026-11-02T09:00:00.000Z'
        '401':
          $ref: '#/components/responses/MonitorUnauthorized'
        '429':
          description: >-
            The API key has exceeded 120 requests in the current minute across
            post engagement monitor endpoints. Wait for the Retry-After seconds
            before retrying.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                error:
                  summary: Error response
                  value:
                    error: Too Many Requests
                    message: 'Rate limit exceeded: 120 requests per minute'
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: string
              example: '60'
        '503':
          description: >-
            service_unavailable: post engagement monitoring is temporarily
            unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorApiError'
components:
  schemas:
    PostEngagementMonitor:
      type: object
      additionalProperties: false
      required:
        - id
        - name
        - status
        - frequency
        - engagement_types
        - include_existing_engagers
        - filters
        - results_table_id
        - results_status
        - results_error
        - next_check_at
        - last_checked_at
        - last_error
        - webhook_url
        - webhook_configured
        - source_count
        - engager_count
        - unread_engager_count
        - created_at
        - updated_at
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        status:
          type: string
          enum:
            - active
            - paused
        frequency:
          type: string
          enum:
            - daily
            - weekly
        engagement_types:
          type: array
          items:
            type: string
            enum:
              - reactions
              - comments
        include_existing_engagers:
          type: boolean
        filters:
          type: object
          additionalProperties: false
          required:
            - titles
            - locations
            - excluded_company_urls
          properties:
            titles:
              type: array
              items:
                type: string
            locations:
              type: array
              items:
                type: string
            excluded_company_urls:
              type: array
              items:
                type: string
        results_table_id:
          type: string
          description: >-
            The Airscale results table that receives one row per delivered
            engager.
        results_status:
          type: string
          enum:
            - ready
            - pending
            - blocked
          description: >-
            ready, pending (engagers waiting for delivery) or blocked (see
            results_error).
        results_error:
          type:
            - string
            - 'null'
          description: >-
            Why delivery is blocked, for example insufficient_credits,
            results_table_deleted, table_row_limit_reached or
            results_columns_missing.
        next_check_at:
          type:
            - string
            - 'null'
          format: date-time
        last_checked_at:
          type:
            - string
            - 'null'
          format: date-time
        last_error:
          type:
            - string
            - 'null'
          description: A short code when the last check could not complete.
        webhook_url:
          type:
            - string
            - 'null'
          format: uri
        webhook_configured:
          type: boolean
        source_count:
          type: integer
          minimum: 0
          description: Active sources.
        engager_count:
          type: integer
          minimum: 0
          description: Engagers delivered to the results table.
        unread_engager_count:
          type: integer
          minimum: 0
          description: Exact count, independent of any page size.
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    Error:
      type: object
      additionalProperties: true
      properties:
        error:
          type: string
        message:
          type: string
    MonitorApiError:
      type: object
      additionalProperties: false
      required:
        - error
      properties:
        error:
          type: object
          additionalProperties: false
          required:
            - code
            - message
          properties:
            code:
              type: string
            message:
              type: string
  responses:
    MonitorUnauthorized:
      description: >-
        A missing Bearer token returns
        {"error":"Unauthorized","message":"Missing or invalid bearer token"}. An
        unknown API key returns invalid_api_key.
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/MonitorApiError'
              - $ref: '#/components/schemas/Error'
          examples:
            invalidKey:
              summary: Unknown API key
              value:
                error:
                  code: invalid_api_key
                  message: The API key is not valid
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: >-
        Use an Airscale workspace API key. Never expose the key in client-side
        code.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.