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

# Export source activity as CSV

> Read-only export. The JSON response contains filename, text/csv mimeType, CSV content and rowCount; save content as the named file. Uses the same workspace filters and permissions as the app. Source exports allow at most 365 days and 10,000 output rows. Crawler exports return up to the requested 5,000 most recent matching events. No integration setup or credentials are exposed.



## OpenAPI

````yaml GET /api/v2/sources/export
openapi: 3.1.1
info:
  title: chatobserver public API
  version: '2026-09-09'
  description: >-
    Track AI visibility, manage prompts, inspect collected answers and
    citations, and integrate workspace data with your own tools. Visibility
    endpoints use workspace API keys. Data endpoints use scoped service-account
    keys; spreadsheet client endpoints use authorised client sessions. See the
    authentication guide for each credential type.
  contact:
    name: chatobserver support
    url: https://chatobserver.com/contact
    email: support@chatobserver.com
servers:
  - url: https://app.chatobserver.com
    description: Production API
security:
  - WorkspaceKey: []
  - BearerKey: []
tags:
  - name: Workspace
    description: Validate access and list the workspace project and available platforms.
  - name: Prompts
    description: Create, schedule, organise, activate and retrieve tracked prompts.
  - name: Answers
    description: Retrieve collected AI answers, their analysis and visibility trends.
  - name: Brands
    description: Manage brands and compare their visibility in AI answers.
  - name: Sources and citations
    description: Analyse cited domains, pages and ownership across answers.
  - name: Visitor analytics
    description: Read website visitor and crawler analytics for the workspace.
  - name: Content opportunities
    description: Retrieve content-gap findings and recommendations for tracked prompts.
  - name: Usage
    description: Read workspace consumption and allowance summaries.
  - name: Data connections
    description: Discover authorised connections, source accounts and connector catalogues.
  - name: Data queries
    description: >-
      Create versioned queries, publish definitions and inspect integration
      contracts.
  - name: Data operations
    description: >-
      Execute, validate, cancel and inspect operations and page through result
      rows.
  - name: Data delivery
    description: Manage schedules, transfers, destinations and import workflows.
  - name: Data definitions
    description: Manage reusable definitions and their immutable versions.
  - name: Data webhooks
    description: >-
      Configure event delivery, inspect deliveries, replay events and rotate
      secrets.
  - name: Client authorisation
    description: Authorise spreadsheet clients using a user-approved challenge exchange.
  - name: Spreadsheet clients
    description: >-
      Access document-bound client sessions, queries, schedules, bindings and
      write claims.
  - name: AI visibility audits
    description: Create website visibility audits and retrieve their report links.
  - name: Version 1
    description: Integrate with the version 1 visibility and analytics endpoints.
paths:
  /api/v2/sources/export:
    get:
      tags:
        - Sources
      summary: Export source activity as CSV
      description: >-
        Read-only export. The JSON response contains filename, text/csv
        mimeType, CSV content and rowCount; save content as the named file. Uses
        the same workspace filters and permissions as the app. Source exports
        allow at most 365 days and 10,000 output rows. Crawler exports return up
        to the requested 5,000 most recent matching events. No integration setup
        or credentials are exposed.
      operationId: getV2SourcesExport
      parameters:
        - name: windowDays
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 365
        - name: start
          in: query
          required: false
          schema:
            type: string
            format: date-time
        - name: end
          in: query
          required: false
          schema:
            type: string
            format: date-time
        - name: promptId
          in: query
          required: false
          schema:
            type: integer
            exclusiveMinimum: 0
        - name: groupId
          in: query
          required: false
          schema:
            type: integer
            exclusiveMinimum: 0
        - name: rootDomain
          in: query
          required: false
          schema:
            type: string
            maxLength: 255
        - name: platform
          in: query
          required: false
          schema:
            type: string
            maxLength: 64
        - name: region
          in: query
          required: false
          schema:
            type: string
            maxLength: 64
        - name: metric
          in: query
          required: false
          schema:
            enum:
              - mentions
              - influence
            type: string
        - name: domain
          in: query
          required: false
          schema:
            type: string
            maxLength: 255
        - name: domainSearch
          in: query
          required: false
          schema:
            type: string
            maxLength: 255
        - name: domainLimit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 200
        - name: page
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 1000000
        - name: ownership
          in: query
          required: false
          schema:
            type: string
            enum:
              - all
              - owned
              - competitor
              - third_party
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 10
            maximum: 100
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            maxLength: 4096
        - name: sortKey
          in: query
          required: false
          schema:
            type: string
            enum:
              - default
              - promptCount
              - change
              - rootDomain
              - promptSummary
              - mentionCount
              - influenceScore
              - citationCount
              - linkCount
              - firstSeenAt
              - lastSeenAt
              - promptRunId
              - promptLabel
              - runCompletedAt
        - name: sortDirection
          in: query
          required: false
          schema:
            type: string
            enum:
              - asc
              - desc
        - name: pagesPage
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100000
        - name: evidencePage
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100000
        - name: pagesSort
          in: query
          required: false
          schema:
            type: string
            enum:
              - default
              - url
              - citations
              - links
              - answers
              - prompts
              - lastSeen
        - name: evidenceSort
          in: query
          required: false
          schema:
            type: string
            enum:
              - default
              - prompt
              - date
              - citations
              - links
        - name: pagesDirection
          in: query
          required: false
          schema:
            type: string
            enum:
              - asc
              - desc
        - name: evidenceDirection
          in: query
          required: false
          schema:
            type: string
            enum:
              - asc
              - desc
      responses:
        '200':
          description: CSV file contents.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      filename:
                        type: string
                      mimeType:
                        type: string
                        const: text/csv
                      content:
                        type: string
                      rowCount:
                        type: integer
                        minimum: 0
                    required:
                      - filename
                      - mimeType
                      - content
                      - rowCount
                    additionalProperties: false
                required:
                  - data
                additionalProperties: false
        '400':
          description: Invalid filters.
        '403':
          description: Permission denied.
        '413':
          description: Export too large. Narrow the filters.
        '503':
          description: Export unavailable. Retry with a smaller range.
components:
  securitySchemes:
    WorkspaceKey:
      type: apiKey
      in: header
      name: x-chatobserver-key
      description: >-
        A workspace API key. Data endpoints require a service-account key with
        the specified scopes.
    BearerKey:
      type: http
      scheme: bearer
      description: The workspace or service-account API key as a bearer token.

````