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

# Get a post's agent reach

> Returns AI crawler, citation and referral visits to the post's live page on its Notra Site, including its Markdown copy. Defaults to the last 30 days. agentReach is null when the post isn't live on a Site.



## OpenAPI

````yaml https://api.usenotra.com/openapi.json get /v1/posts/{postId}/agent-reach
openapi: 3.1.1
info:
  title: Notra API
  version: 1.0.0
  description: >-
    OpenAPI schema for Notra content endpoints. Use GET /v1/status for public
    reachability. Error responses include recovery guidance. Breaking changes
    ship under a new major path; deprecated operations send Deprecation and
    Sunset headers at least 90 days before removal.
servers:
  - url: https://api.usenotra.com
    description: Production
  - url: https://demo-api.usenotra.com
    description: >-
      Sandbox with sample data. Get a free sandbox key at demo.usenotra.com, no
      signup needed
security:
  - BearerAuth: []
tags:
  - name: Webhooks
    description: Manage outbound webhook subscriptions and delivery history.
  - name: Discovery
    description: Public API status and authenticated workspace discovery.
  - name: Content
    description: >-
      Manage posts, brand identities, and GitHub or Linear integrations, and
      queue content generation. Organization is inferred from the API key
      (identity.externalId).
  - name: Schedules
    description: >-
      Manage scheduled content generation. Organization is inferred from the API
      key (identity.externalId).
  - name: Event Triggers
    description: >-
      Manage event-based content generation triggered by GitHub webhooks.
      Organization is inferred from the API key (identity.externalId).
  - name: Chats
    description: >-
      Manage chat sessions. Organization is inferred from the API key
      (identity.externalId).
  - name: Skills
    description: >-
      Manage reusable writing skills. Organization is inferred from the API key
      (identity.externalId).
  - name: Feedback
    description: >-
      Collect and triage feedback submitted by AI agents. Agents post to the
      organization's feedback URL without credentials; reading and triage
      require an API key with feedback.read or feedback.write.
  - name: GEO
    description: >-
      Manage generative engine optimization: projects, tracking settings,
      prompts, prompt sequences, competitors, scans, visibility reads, content
      gaps and briefs, agent readiness and AI traffic. Project-scoped endpoints
      require the GEO plan entitlement in addition to their scope;
      organization-level ingest endpoints require only the traffic scope.
externalDocs:
  description: Notra API versioning and deprecation policy
  url: https://www.usenotra.com/docs/api/versioning
paths:
  /v1/posts/{postId}/agent-reach:
    get:
      tags:
        - Content
      summary: Get a post's agent reach
      description: >-
        Returns AI crawler, citation and referral visits to the post's live page
        on its Notra Site, including its Markdown copy. Defaults to the last 30
        days. agentReach is null when the post isn't live on a Site.
      operationId: getPostAgentReach
      parameters:
        - schema:
            type: string
            minLength: 1
            pattern: ^[A-Za-z0-9_-]{1,100}$
            example: post_123
          required: true
          in: path
          name: postId
        - schema:
            type: integer
            minimum: 1
            maximum: 365
            description: Rolling window size in days. Ignored when from/to are set.
          required: false
          description: Rolling window size in days. Ignored when from/to are set.
          name: days
          in: query
        - schema:
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
            example: '2026-01-31'
          required: false
          name: from
          in: query
        - schema:
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
            example: '2026-01-31'
          required: false
          name: to
          in: query
      responses:
        '200':
          description: Agent reach fetched successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostAgentReachResponse'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: GEO plan or available AI credits required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Organization or post not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Authentication or billing service unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    PostAgentReachResponse:
      type: object
      properties:
        organization:
          type: object
          properties:
            id:
              type: string
            slug:
              type: string
            name:
              type: string
            logo:
              type:
                - string
                - 'null'
          required:
            - id
            - slug
            - name
            - logo
        agentReach:
          $ref: '#/components/schemas/PostAgentReach'
      required:
        - organization
        - agentReach
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
        code:
          type: string
        recovery:
          type: string
      required:
        - error
    PostAgentReach:
      type:
        - object
        - 'null'
      properties:
        postId:
          type: string
        siteId:
          type: string
        path:
          type: string
          description: >-
            Path the post is served at on its Site. Visits to its Markdown copy
            (`<path>.md`) and index files are counted too.
          example: /blog/launch
        url:
          type: string
          example: https://example.com/blog/launch
        configured:
          type: boolean
          description: >-
            False when the traffic backend is not configured for this
            deployment; the payload is then empty rather than an error.
        totals:
          type: object
          properties:
            crawled:
              type: integer
              description: Training and search-index crawler visits.
            cited:
              type: integer
              description: Visits from assistants reading the page while answering someone.
            referred:
              type: integer
              description: People who clicked through from an AI answer.
            total:
              type: integer
          required:
            - crawled
            - cited
            - referred
            - total
        sources:
          type: array
          items:
            type: object
            properties:
              source:
                type: string
              visitorType:
                type: string
                enum:
                  - crawler
                  - ai_referral
                  - human
                  - unknown
              agent:
                type: string
              category:
                type: string
              confidence:
                type: string
              visits:
                type: integer
              previousVisits:
                type: integer
              markdownVisits:
                type: integer
              previousMarkdownVisits:
                type: integer
              paths:
                type: integer
              previousPaths:
                type: integer
              lastSeenAt:
                type: string
            required:
              - source
              - visitorType
              - agent
              - category
              - confidence
              - visits
              - markdownVisits
              - paths
              - lastSeenAt
        points:
          type: array
          items:
            type: object
            properties:
              day:
                type: string
              visitorType:
                type: string
                enum:
                  - crawler
                  - ai_referral
                  - human
                  - unknown
              source:
                type: string
              visits:
                type: integer
            required:
              - day
              - visitorType
              - source
              - visits
      required:
        - postId
        - siteId
        - path
        - url
        - configured
        - totals
        - sources
        - points
      description: >-
        Null when the post isn't live on a Notra Site: never published to one,
        published to another branch, or the Site has no production deployment.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        Send your API key in the Authorization header as Bearer API_KEY. Account
        API keys work in every workspace you belong to: send
        X-Notra-Organization-Id with the workspace id or slug to choose one.
        Workspace endpoints require it when you belong to more than one
        workspace; GET /v1/me/workspaces works without it. Organization keys
        only accept their own workspace there.

````

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