Skip to main content


Exposes API that can be used for the Web API testing. This class is used for creating APIRequestContext instance which in turn can be used for sending web requests. An instance of this class can be obtained via Playwright.request(). For more information see APIRequestContext.



Added in: v1.16 apiRequest.newContext

Creates new instances of APIRequestContext.




  • options ApiRequest.NewContextOptions (optional)
    • setBaseURL String (optional)#

      Methods like APIRequestContext.get() take the base URL into consideration by using the URL() constructor for building the corresponding URL. Examples:

      • baseURL: http://localhost:3000 and sending request to /bar.html results in http://localhost:3000/bar.html
      • baseURL: http://localhost:3000/foo/ and sending request to ./bar.html results in http://localhost:3000/foo/bar.html
      • baseURL: http://localhost:3000/foo (without trailing slash) and navigating to ./bar.html results in http://localhost:3000/bar.html
    • setExtraHTTPHeaders Map<String, String> (optional)#

      An object containing additional HTTP headers to be sent with every request. Defaults to none.

    • setHttpCredentials HttpCredentials (optional)#

      • setUsername String

      • setPassword String

      • setOrigin String (optional)

        Restrain sending http credentials on specific origin (scheme://host:port).

      • setSend enum HttpCredentialsSend { UNAUTHORIZED, ALWAYS } (optional)

        This option only applies to the requests sent from corresponding APIRequestContext and does not affect requests sent from the browser. 'always' - Authorization header with basic authentication credentials will be sent with the each API request. 'unauthorized - the credentials are only sent when 401 (Unauthorized) response with WWW-Authenticate header is received. Defaults to 'unauthorized'.

      Credentials for HTTP authentication. If no origin is specified, the username and password are sent to any servers upon unauthorized responses.

    • setIgnoreHTTPSErrors boolean (optional)#

      Whether to ignore HTTPS errors when sending network requests. Defaults to false.

    • setProxy Proxy (optional)#

      • setServer String

        Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example or socks5:// Short form is considered an HTTP proxy.

      • setBypass String (optional)

        Optional comma-separated domains to bypass proxy, for example ".com,,".

      • setUsername String (optional)

        Optional username to use if HTTP proxy requires authentication.

      • setPassword String (optional)

        Optional password to use if HTTP proxy requires authentication.

      Network proxy settings.

    • setStorageState String (optional)#

      Populates context with given storage state. This option can be used to initialize context with logged-in information obtained via BrowserContext.storageState() or APIRequestContext.storageState(). Either a path to the file with saved storage, or the value returned by one of BrowserContext.storageState() or APIRequestContext.storageState() methods.

    • setStorageStatePath Path (optional) Added in: v1.18#

      Populates context with given storage state. This option can be used to initialize context with logged-in information obtained via BrowserContext.storageState(). Path to the file with saved storage state.

    • setTimeout double (optional)#

      Maximum time in milliseconds to wait for the response. Defaults to 30000 (30 seconds). Pass 0 to disable timeout.

    • setUserAgent String (optional)#

      Specific user agent to use in this context.