ObservePoint Web Audits API

Retrieve audit run data including pages, cookies, geo-locations, network requests, JS variables and failures for web audit runs

Operations 8

GET /v3/web-audits/{auditId}/runs/{runId}/scores Get scores for specified audit run #
GET /v3/web-audits/{auditId}/runs/{runId}/pages Return pages found in the run #
GET /v3/web-audits/{auditId}/runs/{runId}/cookies Return a list of unique cookies #
GET /v3/web-audits/{auditId}/runs/{runId}/geo-locations Return a list of unique geo-locations #
GET /v3/web-audits/{auditId}/runs/{runId}/request-domains Return a list of unique request-domains #
GET /v3/web-audits/{auditId}/runs/{runId}/javascript-variables Return a list of pages with JS variables #
GET /v3/web-audits/{auditId}/runs/{runId}/reports/failures Get run failures summary #
GET /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/screenshot Get audit run page screenshot URL #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/observepoint-web-audits-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

observepoint-web-audits-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: V3 Web Audits API
  description: This section documents the V3 API endpoints that provide access to comprehensive audit and journey data from ObservePoint. Use these endpoints to retrieve detailed reports, export data, manage alerts, configure scans and privacy settings, and analyze web performance metrics from your ObservePoint scans.
  version: null
  contact:
    name: Observepoint
    url: https://www.observepoint.com/contact-us
servers:
- url: https://api.observepoint.com
  description: ObservePoint Production API
tags:
- name: web-audits
  x-displayName: Audit Run Data
  description: Retrieve audit run data including pages, cookies, geo-locations, network requests, JS variables and failures for web audit runs
paths:
  /v3/web-audits/{auditId}/runs/{runId}/scores:
    parameters:
    - $ref: '#/components/parameters/AuditId'
    - $ref: '#/components/parameters/RunId'
    get:
      tags:
      - web-audits
      summary: Get scores for specified audit run
      operationId: getAuditRunScores
      responses:
        '200':
          description: Audit scores data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_AuditSummary_ScoresDTO'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '401':
          $ref: '#/components/responses/responses-UnAuthorized'
        '404':
          $ref: '#/components/responses/responses-NotFound'
      security:
      - API_Key: []
      description: GET /v3/web-audits/{auditId}/runs/{runId}/scores
  /v3/web-audits/{auditId}/runs/{runId}/pages:
    parameters:
    - $ref: '#/components/parameters/AuditId'
    - $ref: '#/components/parameters/RunId'
    - $ref: '#/components/parameters/pageParam'
    - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
    - name: sortBy
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/AuditRun_PagesSort'
    - $ref: '#/components/parameters/SortDescendingParam'
    get:
      tags:
      - web-audits
      operationId: getAuditRunPages
      summary: Return pages found in the run
      description: 'GET /v3/web-audits/{auditId}/runs/{runId}/pages


        Get all the pages in a given audit run'
      responses:
        '200':
          description: OK, return a list of unique pages found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_Pages_DTO'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '401':
          $ref: '#/components/responses/responses-UnAuthorized'
        '404':
          $ref: '#/components/responses/responses-NotFound'
      security:
      - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/cookies:
    parameters:
    - $ref: '#/components/parameters/AuditId'
    - $ref: '#/components/parameters/RunId'
    get:
      tags:
      - web-audits
      operationId: getCookies
      summary: Return a list of unique cookies
      description: 'GET /v3/web-audits/{auditId}/runs/{runId}/cookies


        Get all unique cookie name and domain found on all the pages in a given audit run'
      responses:
        '200':
          description: OK, return a list of unique cookies found
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CookieDTO'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '401':
          $ref: '#/components/responses/responses-UnAuthorized'
        '404':
          $ref: '#/components/responses/responses-NotFound'
      security:
      - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/geo-locations:
    parameters:
    - $ref: '#/components/parameters/AuditId'
    - $ref: '#/components/parameters/RunId'
    get:
      tags:
      - web-audits
      operationId: getGeoLocation
      summary: Return a list of unique geo-locations
      description: 'GET /v3/web-audits/{auditId}/runs/{runId}/geo-locations


        Get all unique geo-locations found on all the pages in a given audit run'
      responses:
        '200':
          description: OK, return a list of unique geo-locations found
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GeoLocationDTO'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '401':
          $ref: '#/components/responses/responses-UnAuthorized'
        '404':
          $ref: '#/components/responses/responses-NotFound'
      security:
      - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/request-domains:
    parameters:
    - $ref: '#/components/parameters/AuditId'
    - $ref: '#/components/parameters/RunId'
    get:
      tags:
      - web-audits
      operationId: getRequestDomain
      summary: Return a list of unique request-domains
      description: 'GET /v3/web-audits/{auditId}/runs/{runId}/request-domains


        Get all unique request domains found on all the pages in a given audit run'
      responses:
        '200':
          description: OK, return a list of request-domains found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestDomainDTO'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '401':
          $ref: '#/components/responses/responses-UnAuthorized'
        '404':
          $ref: '#/components/responses/responses-NotFound'
      security:
      - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/javascript-variables:
    parameters:
    - $ref: '#/components/parameters/AuditId'
    - $ref: '#/components/parameters/RunId'
    - name: size
      in: query
      required: false
      description: Number of items to be returned at once
      schema:
        type: integer
        maximum: 1000
        default: 50
        minimum: 50
    - name: startAfterPageId
      in: query
      required: false
      description: 'Offset result, start from pageId next to `startAfterPageId`.

        To fetch first page, don''t supply this parameter.

        To fetch subsequent pages, supply `metadata.pagination.lastPageId` from previous response

        '
      schema:
        $ref: '#/components/schemas/PageId'
    get:
      tags:
      - web-audits
      operationId: getJavaScriptVariables
      summary: Return a list of pages with JS variables
      description: 'GET /v3/web-audits/{auditId}/runs/{runId}/javascript-variables


        Get all JS variables found on all the pages in a given audit run'
      responses:
        '200':
          description: Pages with JS variables
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagesWithJsVariablesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
      - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/reports/failures:
    parameters:
    - $ref: '#/components/parameters/AuditId'
    - $ref: '#/components/parameters/RunId'
    get:
      tags:
      - web-audits
      operationId: getAuditFailureResults
      description: 'GET /v3/web-audits/{auditId}/runs/{runId}/reports/failures


        Returns a summary of failures for the given run.

        Failures summary includes details for Pre-Audit Actions, On-Page Actions, all found links excluded and starting URLs navigation results.'
      summary: Get run failures summary
      responses:
        '200':
          description: The result of the execution of the Audit Pre-Audit Actions if any
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditFailureResults'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
      - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/screenshot:
    parameters:
    - $ref: '#/components/parameters/AuditId'
    - $ref: '#/components/parameters/RunId'
    - $ref: '#/components/parameters/PageId'
    get:
      tags:
      - web-audits
      operationId: generateAuditRunPageScreenshot
      description: 'GET /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/screenshot


        Returns an pre-signed S3 URL for audit run page card'
      summary: Get audit run page screenshot URL
      responses:
        '302':
          description: redirect with pre-signed S3 URL for screenshot of a page of an audit run
          headers:
            Location:
              description: The URL to which the client will be redirected
              schema:
                type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
      - API_Key: []
components:
  schemas:
    RequestDomainDTO-parsed1:
      type: object
      properties:
        domain:
          type: string
          example: observepoint.com
        scheme:
          type: string
          example: https
        isValid:
          type: boolean
          example: true
    StartingUrlResults:
      type: object
      description: "Provide information for the following use cases:\n  One and Out - All starting URLs failed to launch\n  One and Out - All links found were excluded by filters\n"
      required:
      - failureType
      properties:
        failureType:
          description: "Possible types:\n  - `no_links_scanned_one_and_out` All conditions must be met:\n    1. Number of scanned pages matches number of starting URLs\n    2. Scan limit is higher than number of scanned pages\n    3. At least 1 link has been excluded.\n  - `all_starting_urls_failed_one_and_out` Flag indicating if all starting Urls failed navigation.\n    Navigation resulted in status codes:\n     - zero\n     - 403\n     - 500+\n    Details for this data is available from the page summary pages endpoint\n  - `all_starting_urls_failed_zero_and_out` Flag indicating if all starting Urls failed navigation but without records.\n"
          type: string
          enum:
          - no_links_scanned_one_and_out
          - all_starting_urls_failed_one_and_out
          - all_starting_urls_failed_zero_and_out
        linksExcludedSample:
          description: '(Optional) Present if failureType is `no_links_scanned_one_and_out`

            A sample of links found from starting URLs that were excluded from the audit.

            '
          type: array
          minItems: 1
          maxItems: 10
          items:
            $ref: '#/components/schemas/PageUrl'
        startingUrlFailures:
          description: (Optional) Present when `all_starting_urls_failed_one_and_out` is true
          type: array
          items:
            $ref: '#/components/schemas/StartingUrlFailureItem'
    AuditRun_AuditSummary_Score:
      type: object
      required:
      - score
      - max
      properties:
        score:
          type: number
          format: float
          description: Amount of points obtained in given score category. Rounded to one digit after dot
        max:
          type: integer
          description: Max points for given score category, inclusive
    RequestDomainDTO:
      type: array
      items:
        $ref: '#/components/schemas/RequestDomainParsingResult'
    S3PaginationMetadata:
      description: 'Represents pagination metadata for results from S3, where each result page contains multiple pageIds.

        It''s not possible to efficiently get total count of files in S3, so metadata is missing fields like `totalCount` and `totalPageCount`

        '
      type: object
      required:
      - pageSize
      - currentPageSize
      - lastPageId
      properties:
        pageSize:
          description: Page size - number of items per result page configured by `size` query parameter or default page size
          example: 50
          type: integer
        currentPageSize:
          description: Number of items in current result page
          example: 1
          type: integer
        lastPageId:
          description: 'Last pageId on current result page, pass it as `startAfterPageId` query param to retrieve next page.

            Null if no items were returned

            '
          example: f9d32cc7cc2046d6decb145a80289287f5226323
          type:
          - string
          - 'null'
    AuditId:
      type: integer
      format: int64
      example: 107239
    PreAuditActionResults:
      type: object
      required:
      - zeroAndOut
      properties:
        zeroAndOut:
          description: Indicates whether pre-audit actions failed executing in all allocated engine containers.
          type: boolean
        preAuditActionFailures:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/AuditActionResult'
          description: 'Pre-audit action results failures. A a set of failed actions with their failure messages.

            Uniqueness is determined by the combination of `failureMessage` and `auditActionSnapshotId`.

            '
    PageUrl:
      type: string
      format: url
      example: https://example.com/about
    AuditFailureResults:
      type: object
      required:
      - preAuditActionResults
      properties:
        preAuditActionResults:
          $ref: '#/components/schemas/PreAuditActionResults'
        onPagesActionResults:
          $ref: '#/components/schemas/OnPagesActionResults'
        startingUrlResults:
          $ref: '#/components/schemas/StartingUrlResults'
    PageStatusCode:
      type: integer
      description: Page HTTP status code
    S3IterableResponseMetadata:
      description: Metadata for iterable results from S3
      type: object
      required:
      - pagination
      properties:
        pagination:
          $ref: '#/components/schemas/S3PaginationMetadata'
    PageWithJsVariables:
      type: object
      required:
      - pageId
      - pageUrl
      - pageInitialStatusCode
      - pageFinalStatusCode
      - variables
      properties:
        pageId:
          $ref: '#/components/schemas/PageId'
        pageUrl:
          $ref: '#/components/schemas/PageUrl'
        pageInitialStatusCode:
          $ref: '#/components/schemas/PageStatusCode'
        pageFinalStatusCode:
          $ref: '#/components/schemas/PageStatusCode'
        variables:
          description: All JS variables found on specific page
          type: array
          items:
            $ref: '#/components/schemas/JsVariable'
    OnPagesActionResultItem:
      type: object
      required:
      - pageUrl
      - results
      properties:
        pageUrl:
          type: string
        results:
          type: array
          items:
            $ref: '#/components/schemas/AuditActionResult'
    RunId:
      type: integer
      format: int64
      example: 33010
    AuditRun_Pages_DTO:
      description: DTO returning pages of a particular run in paged way.
      type: object
      required:
      - metadata
      - pages
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        pages:
          type: array
          items:
            $ref: '#/components/schemas/AuditPage'
    RequestDomainDTO-failedToParse:
      type: object
      properties:
        isValid:
          type: boolean
          example: false
        OriginalUrl:
          type: string
          example: fadsjguianvasnkd
    AuditActionResult:
      type: object
      required:
      - auditActionSnapshotId
      - failureMessage
      properties:
        auditActionSnapshotId:
          $ref: '#/components/schemas/AuditActionSnapshotId'
        failureMessage:
          type: string
    RequestDomainParsingResult:
      oneOf:
      - $ref: '#/components/schemas/RequestDomainDTO-parsed1'
      - $ref: '#/components/schemas/RequestDomainDTO-parsed2'
      - $ref: '#/components/schemas/RequestDomainDTO-failedToParse'
    OnPagesActionResults:
      description: (Optional) Present if failure/s is/are present for any Page's On-Page Actions execution
      type: object
      required:
      - totalConfiguredCount
      - totalFailedCount
      - resultsSample
      properties:
        totalConfiguredCount:
          type: integer
          description: Total number of pages configured with On-Page Actions for the Audit run
        totalFailedCount:
          type: integer
          description: Total number of Pages in the Audit run with On-Page Action failures
        resultsSample:
          description: A sample of On-Page actions failures.
          type: array
          minItems: 1
          maxItems: 3
          items:
            $ref: '#/components/schemas/OnPagesActionResultItem'
    ErrorModel:
      type: object
      properties:
        timestamp:
          type: string
          format: date-time
        message:
          type: string
        details:
          type: string
        validationReport:
          type: object
    CookieDTO:
      type: object
      properties:
        name:
          type: string
        domain:
          type: string
      description: Cookie name and domain
    AuditRun_PagesSort:
      description: possible ways to sort pages in a given run
      type: string
      enum:
      - url
      - load_time
      - status_code
      - size
    StartingUrlFailureItem:
      required:
      - statusCode
      - pageCount
      properties:
        statusCode:
          $ref: '#/components/schemas/PageStatusCode'
        pageCount:
          type: integer
        browserError:
          type: string
          description: error produced by browser upon opening the page
          example: This site can’t be reached. example.com’s server IP address could not be found. ERR_NAME_NOT_RESOLVED
    AuditPage:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/PageId'
        url:
          type: string
        loadTime:
          type: number
        statusCode:
          type: integer
        size:
          type: number
    JsVariable:
      type: object
      required:
      - name
      - value
      properties:
        name:
          description: Name of collected JS variable
          example: dataLayer
          type: string
        value:
          description: 'Raw value of collected JS variable as it appeared on a page.

            Can be any value - string, number, boolean, array, object or `null`

            '
          type:
          - object
          - 'null'
    CommonIterableResponseMetadata:
      description: Common metadata for iterable
      type: object
      required:
      - pagination
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationMetadata'
    GeoLocationDTO:
      type: object
      properties:
        id:
          type: integer
        countryCode:
          type: integer
        countryName:
          type: string
    AuditActionSnapshotId:
      type: integer
      format: int64
      minimum: 0
      description: An ID assigned to actions of all types on an audit - unique in the context of an individual run
    PagesWithJsVariablesDTO:
      type: object
      required:
      - metadata
      - pages
      properties:
        metadata:
          $ref: '#/components/schemas/S3IterableResponseMetadata'
        pages:
          type: array
          items:
            $ref: '#/components/schemas/PageWithJsVariables'
    PaginationMetadata:
      type: object
      required:
      - totalCount
      - totalPageCount
      - pageSize
      - currentPageSize
      - currentPageNumber
      properties:
        totalCount:
          description: Total number of items available from all result pages combined
          type: integer
        totalPageCount:
          description: Total number of pages available
          type: integer
        pageSize:
          description: Page size - number of items per result page configured by `size` query parameter or default page size
          type: integer
        currentPageSize:
          description: Number of items in current result page
          type: integer
        currentPageNumber:
          description: Current page number/ordinal
          type: integer
    PageId:
      type: string
      example: f9d32cc7cc2046d6decb145a80289287f5226323
    RequestDomainDTO-parsed2:
      type: object
      properties:
        domain:
          type: string
          example: obs_ervepoint.com
        scheme:
          type: string
          example: https
        isValid:
          type: boolean
          example: false
    AuditRun_AuditSummary_ScoresDTO:
      type: object
      required:
      - total
      - tagPresence
      - tagPerformance
      - rules
      - pagePerformance
      - cookies
      properties:
        total:
          $ref: '#/components/schemas/AuditRun_AuditSummary_Score'
        tagPresence:
          $ref: '#/components/schemas/AuditRun_AuditSummary_Score'
        tagPerformance:
          $ref: '#/components/schemas/AuditRun_AuditSummary_Score'
        rules:
          $ref: '#/components/schemas/AuditRun_AuditSummary_Score'
        pagePerformance:
          $ref: '#/components/schemas/AuditRun_AuditSummary_Score'
        cookies:
          $ref: '#/components/schemas/AuditRun_AuditSummary_Score'
  responses:
    responses-NotFound:
      description: The object you are looking is not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
    BadRequest:
      description: The request cannot be accepted
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
    responses-BadRequest:
      description: The request cannot be accepted
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
    NotFound:
      description: The object you are looking is not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
    responses-UnAuthorized:
      description: Your token is invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
    UnAuthorized:
      description: Your token is invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
  parameters:
    pageParam:
      name: page
      in: query
      required: false
      schema:
        type: integer
        minimum: 0
        default: 0
      description: Page number, starts with 0
    PageId:
      name: pageId
      in: path
      required: true
      description: Unique identification number for web audit run-page, it is different from dcUUID
      deprecated: false
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/PageId'
    AuditRun_PagesList_PageSizeParam:
      in: query
      name: size
      required: false
      schema:
        type: integer
        maximum: 1000
        default: 50
        minimum: 50
    SortDescendingParam:
      name: sortDesc
      in: query
      description: Controls sorting order
      required: false
      schema:
        type: boolean
        default: false
    AuditId:
      name: auditId
      in: path
      required: true
      description: Unique identification number for web audit
      deprecated: false
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/AuditId'
    RunId:
      name: runId
      in: path
      required: true
      description: Unique identification number for web audit or journey run
      deprecated: false
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/RunId'
  securitySchemes:
    API_Key:
      type: apiKey
      in: header
      name: Authorization
      description: 'Use the `Authorization` header in your requests with ObservePoint API key as header value.


        Example: `Authorization: abc123...def456`

        '
x-tagGroups:
- name: Audit Reports
  tags:
  - alert-summary-report
  - audit-summary-report
  - browser-logs-report
  - cookie-inventory-report
  - cookie-privacy-report
  - file-changes-report
  - page-details-report
  - page-summary-report
  - request-privacy-report
  - rule-summary-report
  - tag-duplicates-and-multiples-report
  - tag-health-report
  - tag-inventory-report
  - tag-privacy-report
  - variable-inventory-report
  - web-audits
- name: Web Journey Reports
  tags:
  - web-journey-cookie-report
- name: Exports
  tags:
  - account-usage-export
  - alert-export
  - audit-run-export
  - consent-category-export
  - exports
  - manual-journey-run-export
  - scheduled-exports
  - web-journey-run-export
- name: Alerts
  tags:
  - account-triggered-alerts
  - account-usage-alerts
  - alerts
  - email-inbox-message-alerts
- name: Account Usage
  tags:
  - account-usage-v2
- name: Email
  tags:
  - email-inbox-configuration
  - email-inbox-messages
  - email-inboxes
- name: Configuration
  tags:
  - action-set-action-rules
  - action-set-actions
  - action-sets
  - audit-actions
  - audit-blocking-config
  - audit-login-actions
  - audits-consent-category
  - audits-management
  - consent-categories
  - custom-headers
  - data-sources
  - geo-locations
  - notification-center
  - remote-file-mappings
  - rules
  - schedules
  - site-censuses
  - user-events
  - web-journey-blocking-config
  - web-journey-custom-headers
  - web-journeys-management