Skip to main content
AI agents are now live in Website Scanner! Enter your URL and fix website issues 3x faster with AI. Explore now!
No Result Found
Connect & Get help from fellow developers on our Discord community. Ask the CommunityAsk the Community

Scan runs

Use the Website Scanner REST API to trigger scan runs, check their status, list all runs, and retrieve detailed accessibility reports.

Scan runs are individual executions of a scan configuration. Use these endpoints to trigger new scans programmatically, poll for run status, and retrieve detailed accessibility reports for each run.

Trigger a scan run

POST /api/v1/scanner/scans/{project_id}/new_scan

Use this endpoint to manually trigger a new scan run for an existing scan configuration. You need the project_id of the scan configuration you want to run. Use the scanRunId returned in the response to track the run status.

Request parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
  -X POST https://api-scanner.browserstack.com/api/v1/scanner/scans/{project_id}/new_scan
  • project_id* Integer

    The unique ID of the scan project for which you want to trigger a new run.

Response attributes 200 application/json

Response

{
  "success": true,
  "data": {
    "scanRunId": 144
  }
}
  • success Boolean

    Indicates whether the request was successful.

  • data Object

    Contains the ID of the newly created scan run.

    â–¶ SHOW VALUES
    • scanRunId Integer

      The unique ID of the newly triggered scan run.

List scan runs

GET /api/v1/scanner/{proj_id}/scan_builds

Use this endpoint to retrieve a paginated list of all scan runs for a specific scan configuration. Each run includes the report ID, build number, status summary, and accessibility metrics.

Request parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
  https://api-scanner.browserstack.com/api/v1/scanner/{proj_id}/scan_builds
  • proj_id* Integer

    The unique ID of the scan project.

  • page Integer

    Page number to retrieve. Default value is 1.

  • page_size Integer

    Number of scan runs to return per page. Default value is 30.

Response attributes 200 application/json

Response

{
  "success": true,
  "info": {
    "page": 1,
    "pageSize": 30,
    "count": 1,
    "prev": null,
    "next": null
  },
  "builds": [
    {
      "id": 1554790,
      "reportId": 1554790,
      "buildNumber": 1,
      "name": "sampleproject.com-5076",
      "createdAt": "2026-03-02T10:41:15.836Z",
      "startedAt": "2026-03-02T10:41:15.944Z",
      "productsEnabled": [
        "a11y",
        "percy",
        "functional",
        "performance",
        "responsive",
        "content_checker",
        "form_checker"
      ],
      "pageCount": 6,
      "createdBy": {
        "id": 000,
        "name": "sampleUser"
      },
      "projectId": 99999,
      "thBuildUuid": "xwdoo8wjazmpmnbsw1zhq0fgivcyn6czfu7e3xuu",
      "error": "The requested page is not reachable. Please ensure the domain is accessible",
      "prodBuild": false,
      "summary": {
        "status": "completed",
        "accessibility": {
          "score": 88,
          "status": "completed",
          "pageCount": 6,
          "issueCount": 116,
          "scanStability": {
            "total": 6,
            "failure": 0,
            "success": 6,
            "redirect": 2
          },
          "buildStability": 6,
          "componentCount": 19,
          "webUrl": "https://accessibility.browserstack.com/site-scanner/projects/www.browserstack.com-5076/builds?thBuildId=xwdoo8wjazmpmnbsw1zhq0fgivcyn6czfu7e3xuu&recurring=false&tunnel_vision=false",
          "browser": "chrome"
        },
        "percy": {
          "state": "finished",
          "status": "completed",
          "webUrl": "https://percy.io/9560f98d/visual_scanner/CS_www.browserstack.com-5076_CS/builds/47346963",
          "reviewState": "approved",
          "scanStability": {
            "total": 6,
            "failure": 0,
            "success": 6,
            "redirect": 0
          },
          "totalSnapshots": 6,
          "totalTestCases": 0,
          "totalComparisons": 12,
          "reviewStateReason": "project_first_build",
          "totalOpenComments": 0,
          "totalComparisonsDiff": 12,
          "totalTestCasesFailed": 0,
          "totalComparisonsFinished": 12,
          "totalSnapshotsUnreviewed": 0,
          "totalTestCasesUnreviewed": 0,
          "totalSnapshotsRequestingChanges": 0
        },
        "functional": {
          "status": "completed",
          "ctaErrors": 46,
          "brokenLinks": 5,
          "totalIssues": 51,
          "urlsWithIssues": 6,
          "totalUrlsScanned": 6,
          "webUrl": "https://scanner.browserstack.com/site-scanner/www.browserstack.com-5076/scan-report/qgedz8euwecxygcmkmjg5q3qzwhsezbhuekf4rlg?scanner_type=functional"
        },
        "performance": {
          "status": "completed",
          "totalUrls": 6,
          "totalFailed": 0,
          "testhubBuildUuid": "j8joem5km7dcmgao0kya1xec2qj6j5lbcrusxmn2",
          "desktopRatingsCount": {
            "good": 0,
            "poor": 0,
            "needs improvement": 6
          },
          "webUrl": "https://scanner.browserstack.com/site-scanner/www.browserstack.com-5076/performance-report/j8joem5km7dcmgao0kya1xec2qj6j5lbcrusxmn2?scanner_type=performance"
        },
        "contentChecker": {
          "status": "completed",
          "totalUrls": 6,
          "totalIssues": 24,
          "urlsWithAnyIssues": 6,
          "totalGrammarIssues": 2,
          "totalSpellingIssues": 22,
          "webUrl": "https://scanner.browserstack.com/site-scanner/www.browserstack.com-5076/spell-check-report/rdfokp6pbrubizhrey153n8artrik576l9mzv88g?scanner_type=content_checker"
        },
        "formChecker": {
          "status": "completed",
          "totalForms": 10,
          "formsFailed": 7,
          "urlsWithForms": 6,
          "formsSuccessful": 3,
          "formsWithIssues": 7,
          "totalUrlsScanned": 6,
          "formsWithOpenIssues": 2,
          "formsWithSubmissionIssues": 5,
          "webUrl": "https://scanner.browserstack.com/site-scanner/www.browserstack.com-5076/form-report/f5dxxfiknkgffd8cp9udqx1lg74i92xkwpbwwflu?scanner_type=form_checker"
        },
        "responsive": {
          "state": "finished",
          "status": "completed",
          "webUrl": "https://percy.io/9560f98d/responsive_scanner/CS_www.browserstack.com-5076_CS/builds/47346961",
          "reviewState": "approved",
          "scanStability": {
            "total": 6,
            "failure": 0,
            "success": 6,
            "redirect": 0
          },
          "totalSnapshots": 6,
          "totalTestCases": 0,
          "totalComparisons": 36,
          "reviewStateReason": "project_first_build",
          "totalOpenComments": 0,
          "totalComparisonsDiff": 36,
          "totalTestCasesFailed": 0,
          "totalComparisonsFinished": 36,
          "totalSnapshotsUnreviewed": 0,
          "totalTestCasesUnreviewed": 0,
          "totalSnapshotsRequestingChanges": 0
        },
        "scanStability": {
          "total": 6,
          "failure": 0,
          "success": 6,
          "redirect": 0
        }
      }
    }
  ]
}
  • success Boolean

    Indicates whether the request was successful.

  • info Object

    Pagination metadata for the list of scan runs.

    â–¶ SHOW VALUES
    • page Integer

      The current page number.

    • pageSize Integer

      The number of items per page.

    • count Integer

      The total number of results returned on the current page.

    • prev Integer

      The previous page number. Returns null if there is no previous page.

    • next Integer

      The next page number. Returns null if there is no next page.

  • builds Array

    An array of scan run objects, each containing per-product summaries.

    â–¶ SHOW VALUES
    • id Integer

      The unique internal ID of the scan run.

    • reportId Integer

      The unique report ID for this scan run, used to retrieve detailed reports.

    • buildNumber Integer

      The sequential build number of this scan run within the project.

    • name String

      The name of the scan project associated with this run.

    • createdAt String

      The ISO 8601 timestamp when the scan run was created.

    • startedAt String

      The ISO 8601 timestamp when the scan run started executing.

    • productsEnabled Array

      List of BrowserStack products enabled for this scan run (for example, a11y, percy, functional, performance, responsive, content_checker, form_checker).

    • pageCount Integer

      The number of pages scanned in this run.

    • createdBy Object

      Information about the user who triggered this scan run.

      â–¶ SHOW VALUES
      • id Integer

        The unique ID of the user.

      • name String

        The display name of the user.

    • projectId Integer

      The ID of the scan project this run belongs to.

    • thBuildUuid String

      The unique UUID for this build in the BrowserStack test hub.

    • prodBuild Boolean

      Whether this is a production build.

    • error String

      Error message if a page was not reachable during the scan. Returns null if no error occurred.

    • summary Object

      A summary of the scan run status and per-product results.

      â–¶ SHOW VALUES
      • status String

        The overall status of the scan run. Possible values are completed or failed.

      • accessibility Object

        Accessibility-specific summary for this scan run.

        â–¶ SHOW VALUES
        • score Integer

          The accessibility score for this scan run (0–100).

        • status String

          The status of the accessibility scan for this run. Possible values are completed or failed.

        • pageCount Integer

          The number of pages for which the accessibility scan completed.

        • issueCount Integer

          The total number of accessibility issues found in this run.

        • scanStability Object

          Page-level scan stability metrics for this run.

          â–¶ SHOW VALUES
          • total Integer

            The total number of pages in the scan.

          • failure Integer

            The number of pages that failed to scan.

          • success Integer

            The number of pages that scanned successfully.

          • redirect Integer

            The number of pages that returned a redirect response.

        • buildStability Integer

          The number of pages that were successfully scanned for accessibility in this run.

        • componentCount Integer

          The number of UI components affected by accessibility issues in this run.

        • webUrl String

          The URL to view the accessibility report for this run in the BrowserStack dashboard.

        • browser String

          The browser used for accessibility scanning in this run (for example, chrome).

      • percy Object

        Visual testing (Percy) summary for this scan run. Present only when Percy is enabled.

        â–¶ SHOW VALUES
        • state String

          The processing state of the Percy build (for example, finished).

        • status String

          The status of the Percy scan. Possible values are completed or failed.

        • webUrl String

          The URL to view the Percy build report.

        • reviewState String

          The review state of the Percy build (for example, approved or unreviewed).

        • totalSnapshots Integer

          The total number of snapshots captured.

        • totalTestCases Integer

          The total number of test cases associated with the Percy build.

        • totalComparisons Integer

          The total number of visual comparisons performed.

        • reviewStateReason String

          The reason for the current review state (for example, project_first_build).

        • totalOpenComments Integer

          The number of open comments on this Percy build.

        • totalComparisonsDiff Integer

          The number of comparisons that have visual differences.

        • totalTestCasesFailed Integer

          The number of test cases that failed.

        • totalSnapshotsRejected Integer

          The number of snapshots rejected. Returns null if none.

        • totalComparisonsFinished Integer

          The number of comparisons that have finished processing.

        • totalSnapshotsUnreviewed Integer

          The number of snapshots that have not yet been reviewed.

        • totalTestCasesUnreviewed Integer

          The number of test cases that have not yet been reviewed.

        • totalSnapshotsRequestingChanges Integer

          The number of snapshots requesting changes.

      • functional Object

        Functional scan summary for this scan run. Present only when functional scanning is enabled.

        â–¶ SHOW VALUES
        • status String

          The status of the functional scan. Possible values are completed or failed.

        • ctaErrors Integer

          The number of CTA (call-to-action) errors found.

        • brokenLinks Integer

          The number of broken links found.

        • totalIssues Integer

          The total number of functional issues found.

        • urlsWithIssues Integer

          The number of URLs that have at least one functional issue.

        • totalUrlsScanned Integer

          The total number of URLs scanned for functional issues.

        • webUrl String

          The URL to view the functional scan report in the BrowserStack dashboard. Present in scan run list responses only.

      • performance Object

        Performance scan summary for this scan run. Present only when performance scanning is enabled.

        â–¶ SHOW VALUES
        • status String

          The status of the performance scan. Possible values are completed or failed.

        • totalUrls Integer

          The total number of URLs scanned for performance.

        • totalFailed Integer

          The number of URLs that failed performance scanning.

        • testhubBuildUuid String

          The unique UUID of the performance test hub build.

        • desktopRatingsCount Object

          Breakdown of desktop performance ratings across scanned URLs.

          â–¶ SHOW VALUES
          • good Integer

            The number of URLs rated as good performance.

          • poor Integer

            The number of URLs rated as poor performance.

          • needs improvement Integer

            The number of URLs that need performance improvement.

        • webUrl String

          The URL to view the performance report in the BrowserStack dashboard. Present in scan run list responses only.

      • contentChecker Object

        Content checker summary for this scan run. Present only when content checking is enabled.

        â–¶ SHOW VALUES
        • status String

          The status of the content checker scan. Possible values are completed or failed.

        • totalUrls Integer

          The total number of URLs scanned for content issues.

        • totalIssues Integer

          The total number of content issues found (spelling and grammar combined).

        • urlsWithAnyIssues Integer

          The number of URLs that have at least one content issue.

        • totalGrammarIssues Integer

          The total number of grammar issues found.

        • totalSpellingIssues Integer

          The total number of spelling issues found.

        • webUrl String

          The URL to view the content checker report in the BrowserStack dashboard.

      • formChecker Object

        Form checker summary for this scan run. Present only when form checking is enabled.

        â–¶ SHOW VALUES
        • status String

          The status of the form checker scan. Possible values are completed or failed.

        • totalForms Integer

          The total number of forms found across all scanned pages.

        • formsFailed Integer

          The number of forms that have issues.

        • urlsWithForms Integer

          The number of URLs that contain forms.

        • formsSuccessful Integer

          The number of forms that passed all checks.

        • formsWithIssues Integer

          The number of forms with at least one issue.

        • totalUrlsScanned Integer

          The total number of URLs scanned for form issues.

        • formsWithOpenIssues Integer

          The number of forms with open (unresolved) issues.

        • formsWithSubmissionIssues Integer

          The number of forms with submission-related issues.

        • webUrl String

          The URL to view the form checker report in the BrowserStack dashboard.

      • responsive Object

        Responsive design testing summary for this scan run. Present only when responsive testing is enabled.

        â–¶ SHOW VALUES
        • state String

          The processing state of the responsive testing build (for example, finished).

        • status String

          The status of the responsive testing scan. Possible values are completed or failed.

        • webUrl String

          The URL to view the responsive testing report.

        • reviewState String

          The review state of the responsive testing build (for example, approved).

        • totalSnapshots Integer

          The total number of responsive snapshots captured.

        • totalTestCases Integer

          The total number of test cases for responsive testing.

        • totalComparisons Integer

          The total number of responsive visual comparisons performed.

        • reviewStateReason String

          The reason for the current review state.

        • totalOpenComments Integer

          The number of open comments on this responsive testing build.

        • totalComparisonsDiff Integer

          The number of comparisons that have visual differences.

        • totalTestCasesFailed Integer

          The number of test cases that failed.

        • totalComparisonsFinished Integer

          The number of comparisons that have finished processing.

        • totalSnapshotsUnreviewed Integer

          The number of snapshots that have not yet been reviewed.

        • totalTestCasesUnreviewed Integer

          The number of test cases that have not yet been reviewed.

        • totalSnapshotsRequestingChanges Integer

          The number of snapshots requesting changes.

      • scanStability Object

        Page-level scan stability metrics for this run.

        â–¶ SHOW VALUES
        • total Integer

          The total number of pages in the scan.

        • failure Integer

          The number of pages that failed to scan.

        • success Integer

          The number of pages that scanned successfully.

        • redirect Integer

          The number of pages that returned a redirect response.

Get scan run status

GET /api/v1/scanner/{proj_id}/scan_builds/{report_id}/status

Use this endpoint to poll the real-time status of a specific scan run, identified by the report_id. Poll this endpoint periodically after triggering a scan to determine when the run is complete.

Request parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
  https://api-scanner.browserstack.com/api/v1/scanner/{proj_id}/scan_builds/{report_id}/status
  • proj_id* Integer

    The unique ID of the scan project.

  • report_id* Integer

    The unique ID of the scan run report.

  • current_user_id String

    The user ID of the current user making the request.

Response attributes 200 application/json

Response

{
  "success": true,
  "status": "completed"
}
  • success Boolean

    Indicates whether the request was successful.

  • status String

    The current status of the scan run. Possible values are queued, processing, finalizing, completed, or failed.

Get scan run summary

GET /api/v1/scanner/{proj_id}/scan_builds/{report_id}

Use this endpoint to retrieve a summary of scan results for all enabled products in a completed scan run. The response includes results for accessibility, visual (Percy), functional, performance, responsive, content checking, and form checking, depending on which products are enabled for the project. Use the report_id from the scan run list or the trigger scan response to identify the run.

Note: Retrieve this report only after the scan run status shows completed. See Get scan run status. Only products enabled for the project appear in the response.

Request parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
  "https://api-scanner.browserstack.com/api/v1/scanner/{proj_id}/scan_builds/{report_id}"
  • proj_id* Integer

    The unique ID of the scan project.

  • report_id* Integer

    The unique ID of the scan run report.

  • current_user_id String

    The user ID of the current user making the request.

  • product String

    The product type for which to retrieve the report. Use accessibility to get the accessibility report.

Response attributes 200 application/json

Response

{
  "accessibility": {
    "score": 88,
    "status": "completed",
    "pdfScan": null,
    "pageCount": 6,
    "issueCount": 116,
    "buildStability": 6,
    "componentCount": 19
  },
  "percy": {
    "state": "finished",
    "status": "completed",
    "webUrl": "https://percy.io/9560f98d/visual_scanner/CS_www.browserstack.com-5076_CS/builds/47346963",
    "reviewState": "approved",
    "totalSnapshots": 6,
    "totalTestCases": 0,
    "totalComparisons": 12,
    "reviewStateReason": "project_first_build",
    "totalOpenComments": 0,
    "totalComparisonsDiff": 12,
    "totalTestCasesFailed": 0,
    "totalSnapshotsRejected": null,
    "totalComparisonsFinished": 12,
    "totalSnapshotsUnreviewed": 0,
    "totalTestCasesUnreviewed": 0,
    "totalSnapshotsRequestingChanges": 0
  },
  "functional": {
    "status": "completed",
    "ctaErrors": 46,
    "brokenLinks": 5,
    "totalIssues": 51,
    "urlsWithIssues": 6,
    "totalUrlsScanned": 6
  },
  "performance": {
    "status": "completed",
    "totalUrls": 6,
    "totalFailed": 0,
    "testhubBuildUuid": "j8joem5km7dcmgao0kya1xec2qj6j5lbcrusxmn2",
    "desktopRatingsCount": {
      "good": 0,
      "poor": 0,
      "needs improvement": 6
    }
  },
  "responsive": {
    "state": "finished",
    "status": "completed",
    "webUrl": "https://percy.io/9560f98d/responsive_scanner/CS_www.browserstack.com-5076_CS/builds/47346961",
    "reviewState": "approved",
    "totalSnapshots": 6,
    "totalTestCases": 0,
    "totalComparisons": 36,
    "reviewStateReason": "project_first_build",
    "totalOpenComments": 0,
    "totalComparisonsDiff": 36,
    "totalTestCasesFailed": 0,
    "totalSnapshotsRejected": null,
    "totalComparisonsFinished": 36,
    "totalSnapshotsUnreviewed": 0,
    "totalTestCasesUnreviewed": 0,
    "totalSnapshotsRequestingChanges": 0
  }
}
  • accessibility Object

    Accessibility scan summary for this run.

    â–¶ SHOW VALUES
    • score Integer

      The accessibility score for this scan run (0–100).

    • status String

      The status of the accessibility scan. Possible values are completed or failed.

    • pdfScan Object

      PDF scan details, if applicable. Returns null if no PDF scan was performed.

    • pageCount Integer

      The number of pages for which the accessibility scan completed.

    • issueCount Integer

      The total number of accessibility issues found.

    • buildStability Integer

      The number of pages that were successfully scanned for accessibility.

    • componentCount Integer

      The number of unique UI components affected by accessibility issues.

  • percy Object

    Visual testing (Percy) summary for this run. Present only when Percy is enabled for the project.

    â–¶ SHOW VALUES
    • state String

      The processing state of the Percy build (for example, finished).

    • status String

      The status of the Percy scan. Possible values are completed or failed.

    • webUrl String

      The URL to view the Percy build report.

    • reviewState String

      The review state of the Percy build (for example, approved or unreviewed).

    • totalSnapshots Integer

      The total number of snapshots captured.

    • totalTestCases Integer

      The total number of test cases associated with the Percy build.

    • totalComparisons Integer

      The total number of visual comparisons performed.

    • reviewStateReason String

      The reason for the current review state (for example, project_first_build).

    • totalOpenComments Integer

      The number of open comments on this Percy build.

    • totalComparisonsDiff Integer

      The number of comparisons that have visual differences.

    • totalTestCasesFailed Integer

      The number of test cases that failed.

    • totalSnapshotsRejected Integer

      The number of snapshots rejected. Returns null if none.

    • totalComparisonsFinished Integer

      The number of comparisons that have finished processing.

    • totalSnapshotsUnreviewed Integer

      The number of snapshots that have not yet been reviewed.

    • totalTestCasesUnreviewed Integer

      The number of test cases that have not yet been reviewed.

    • totalSnapshotsRequestingChanges Integer

      The number of snapshots requesting changes.

  • functional Object

    Functional scan summary for this run. Present only when functional scanning is enabled.

    â–¶ SHOW VALUES
    • status String

      The status of the functional scan. Possible values are completed or failed.

    • ctaErrors Integer

      The number of CTA (call-to-action) errors found.

    • brokenLinks Integer

      The number of broken links found.

    • totalIssues Integer

      The total number of functional issues found.

    • urlsWithIssues Integer

      The number of URLs that have at least one functional issue.

    • totalUrlsScanned Integer

      The total number of URLs scanned for functional issues.

    • webUrl String

      The URL to view the functional scan report in the BrowserStack dashboard. Present in scan run list responses only.

  • performance Object

    Performance scan summary for this run. Present only when performance scanning is enabled.

    â–¶ SHOW VALUES
    • status String

      The status of the performance scan. Possible values are completed or failed.

    • totalUrls Integer

      The total number of URLs scanned for performance.

    • totalFailed Integer

      The number of URLs that failed performance scanning.

    • testhubBuildUuid String

      The unique UUID of the performance test hub build.

    • desktopRatingsCount Object

      Breakdown of desktop performance ratings across scanned URLs.

      â–¶ SHOW VALUES
      • good Integer

        The number of URLs rated as good performance.

      • poor Integer

        The number of URLs rated as poor performance.

      • needs improvement Integer

        The number of URLs that need performance improvement.

    • webUrl String

      The URL to view the performance report in the BrowserStack dashboard. Present in scan run list responses only.

  • responsive Object

    Responsive design testing summary for this run. Present only when responsive testing is enabled.

    â–¶ SHOW VALUES
    • state String

      The processing state of the responsive testing build (for example, finished).

    • status String

      The status of the responsive testing scan. Possible values are completed or failed.

    • webUrl String

      The URL to view the responsive testing report.

    • reviewState String

      The review state of the responsive testing build (for example, approved).

    • totalSnapshots Integer

      The total number of responsive snapshots captured.

    • totalTestCases Integer

      The total number of test cases for responsive testing.

    • totalComparisons Integer

      The total number of responsive visual comparisons performed.

    • reviewStateReason String

      The reason for the current review state.

    • totalOpenComments Integer

      The number of open comments on this responsive testing build.

    • totalComparisonsDiff Integer

      The number of comparisons that have visual differences.

    • totalTestCasesFailed Integer

      The number of test cases that failed.

    • totalComparisonsFinished Integer

      The number of comparisons that have finished processing.

    • totalSnapshotsUnreviewed Integer

      The number of snapshots that have not yet been reviewed.

    • totalTestCasesUnreviewed Integer

      The number of test cases that have not yet been reviewed.

    • totalSnapshotsRequestingChanges Integer

      The number of snapshots requesting changes.

We're sorry to hear that. Please share your feedback so we can do better

Contact our Support team for immediate help while we work on improving our docs.

We're continuously improving our docs. We'd love to know what you liked





Thank you for your valuable feedback

Download Copy Check Circle