Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

BrowserStack Test Management API is a REST interface for working with Test Management data: projects, test cases, test runs, results, plans, and supporting resources. It uses HTTP Basic Authentication with a BrowserStack username and access key, while role-based access control determines which operations an account can perform. Start with the operation-specific API reference before writing an integration: pagination, filters, bulk behavior, and request semantics vary by resource.

What the BrowserStack Test Management API covers

The API is for BrowserStack Test Management, not a general API for every BrowserStack product. BrowserStack describes Test Management as a way to create, manage, and track manual and automated test cases. Its API reference organizes operations by resource, and API responses are JSON by default with standard HTTP response codes. See the API overview for the current reference map.

Resource area What the reference covers Integration consideration
Projects Listing and creating projects Project endpoints are subject to role-based access control; confirm the account has permission for the operation. Projects API
Folders and test cases Paginated retrieval, filtering, creation, BDD-style cases, and bulk operations Read the operation’s request and update semantics carefully, especially for omitted or empty values. Test cases API
Test runs and results Listing and creating runs, selecting cases through filters, and adding results to runs Decide how your workflow selects cases and reports outcomes before mapping your automation to run operations. Test runs API
Test plans Creating plans and listing their linked runs Plans group and track linked runs; check the reference for the exact relationship and request fields. Test plans API
Supporting resources Reviewers, attachments, configurations, custom fields, and pagination Use the relevant resource page for exact paths, payloads, and response properties; names alone do not establish each operation’s behavior.

The product also has workflows, dashboards, imports, reporting, and integrations. Those product capabilities are not all API operations: verify the API reference for the specific action you intend to automate. BrowserStack’s Test Management overview explains the product context.

How authentication and permissions work

BrowserStack documents HTTP Basic Authentication for Test Management API requests, using the BrowserStack account username and access key. The authentication guide says credentials can be viewed in the Test Management settings dashboard and illustrates authenticated cURL requests. Keep the access key secret; the documentation cited here does not establish a particular storage, rotation, or team-secret-management procedure. Follow the current account and security guidance for those operational decisions. See API authentication.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A valid username and key do not imply unrestricted access. API endpoints use role-based access control, and the account needs the necessary permissions for reads or changes. Since those permissions depend on the account configuration, verify access with the relevant administrator rather than assuming that a credential that can list one resource can also create or update another.

Build an integration around the operation reference

  1. Choose the resource and operation. Decide whether the workflow needs projects, cases, runs, results, plans, or a supporting resource. Open that resource’s API reference and select the exact operation.
  2. Confirm the endpoint and payload. Copy the current method, path, required fields, filters, and response properties from the operation page. The reference pages are the authority for these details; do not infer paths or JSON property names from the resource label.
  3. Establish least-needed access. Use an account credential whose role permits the intended reads or mutations, and keep the access key out of source control and logs.
  4. Implement the response path. Parse JSON, inspect the HTTP status code, and handle errors as well as success responses. Use pagination and filters where the operation documents them rather than assuming one response contains every matching record.
  5. Test changes on a controlled workflow. For create, update, or result-reporting calls, validate the operation’s request semantics and resulting records before wiring it into a recurring pipeline.

Authentication smoke-test template

The API documentation establishes Basic Auth and JSON responses, but endpoint paths, request fields, and response schemas belong to individual operations. This generic Python client is runnable after setting credentials and passing the exact URL copied from the relevant operation page. It deliberately does not invent an endpoint or payload.

import os
import sys
import requests

username = os.environ["BROWSERSTACK_USERNAME"]
access_key = os.environ["BROWSERSTACK_ACCESS_KEY"]

if len(sys.argv) != 2:
    raise SystemExit("Usage: python tm_request.py '<exact operation URL from the API reference>'")

url = sys.argv[1]
response = requests.get(url, auth=(username, access_key), timeout=30)
print("HTTP", response.status_code)
response.raise_for_status()
print(response.json())

Save it as tm_request.py, install the dependency with python -m pip install requests, set BROWSERSTACK_USERNAME and BROWSERSTACK_ACCESS_KEY in your environment, then pass the exact read-operation URL from the reference. The template demonstrates authentication and JSON handling for a GET request only; use the documented HTTP method and payload for a write operation. Avoid printing sensitive response data in production logs.

Bulk test-case operations need explicit handling

The test-case reference documents a bulk-create request containing 1 to 10,000 cases. Requests with 30 or fewer cases run synchronously; larger requests run asynchronously. Build for both outcomes: do not assume a large submission has completed just because the request was accepted. Follow the operation’s documented response and completion behavior, and check the current page for exact fields and any steps needed to obtain the completed result. These thresholds describe the documented bulk-create behavior, not a general limit for every API operation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Also inspect update semantics before sending partial data. The reference warns that omitted or empty values in some update operations can affect fields. A client that treats every update as a simple patch could unintentionally clear or alter data if it sends empty values. Validate a representative update against the operation’s stated semantics before automating it.

Pagination, filters, and workflow design

Pagination and filtering affect both correctness and workload. For retrieval, follow the parameters and continuation behavior defined for that specific operation; don’t presume that a first page is complete or that pagination parameters are identical across all resources. Filters can narrow retrieval and, for test-run creation, the reference documents selecting cases through filters. Verify how the selected cases are represented in the operation response before treating a run as complete.

A common integration shape is to use projects to organize work, cases as the test inventory, runs to represent an execution cycle, and results to record outcomes. Test plans can group and track linked runs. This is a useful conceptual map, not a substitute for the actual API relationships: confirm required identifiers and accepted values in each operation’s request schema.

Troubleshooting common integration failures

Symptom Likely area to check Practical next step
Authentication is rejected Credentials, Basic Auth construction, or account settings Confirm the username and access key from the Test Management settings dashboard and send them as HTTP Basic Auth. Do not place the key in a URL or expose it in logs.
A request authenticates but cannot read or modify a resource Role-based access control Ask an account administrator to confirm the user’s permission for that specific operation. A successful request to another resource does not prove this permission.
Some records are missing from a listing Pagination or filters Check the resource’s pagination instructions, requested filters, and whether the client follows all pages.
A bulk case submission has not produced final records yet Asynchronous behavior for requests above 30 cases Use the completion behavior described by the bulk operation; don’t treat a large request as synchronously finished.
An update changes or clears an unexpected field Omitted or empty field semantics Compare the submitted payload with the operation-specific update rules and send only values whose effect is understood.
Response parsing fails Assumed schema, error response, or wrong operation Check the HTTP status before parsing success data and use the operation reference’s documented response fields rather than an assumed schema.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Integrations, availability, and planning limits

BrowserStack’s feature page names integrations with issue trackers including Jira, Azure DevOps, and Asana, and CI/CD tools including Jenkins, Azure Pipelines, Bamboo, and CircleCI. It also states support for more than 50 automation frameworks. These are BrowserStack product-page statements, not independent evaluations, and the page notes that feature availability and specifications may change. Confirm the particular integration and entitlement for your account and workflow on the Test Management features page.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The API documentation cited here does not establish current pricing, plan entitlements, rate limits, or service-level guarantees. Check current account-specific documentation or contact BrowserStack before estimating production capacity or committing to a procurement decision. The API reference and feature details can change, so recheck the relevant resource documentation when implementing or revising a client.

Where ScreenshotNeo fits—and where it does not

ScreenshotNeo is not an alternative Test Management API: it captures website screenshots or PDFs, rather than managing BrowserStack test cases, runs, plans, or results. If a separate part of your workflow needs website screenshots, it is an option to try first for that distinct task: it removes cookie/consent banners, newsletter popups, and chat widgets before capture, and bot checks, blank pages, failed loads, and cache hits are not billed. It also provides an MCP server for AI agents. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. Learn more at ScreenshotNeo.

For example, a separate screenshot request can use this cURL call; replace the target URL and add your API key. See the ScreenshotNeo documentation for request options.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Sign up for ScreenshotNeo: 1,000 free screenshots a month, no card required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.