Actions Http Client

Usage no npm install needed!

<script type="module">
  import actionsHttpClient from 'https://cdn.skypack.dev/@actions/http-client';


Actions Http-Client

Http Status

A lightweight HTTP client optimized for use with actions, TypeScript with generics and async await.


  • HTTP client with TypeScript generics and async/await/Promises
  • Typings included so no need to acquire separately (great for intellisense and no versioning drift)
  • Proxy support just works with actions and the runner
  • Targets ES2019 (runner runs actions with node 12+). Only supported on node 12+.
  • Basic, Bearer and PAT Support out of the box. Extensible handlers for others.
  • Redirects supported

Features and releases here


npm install @actions/http-client --save


See the HTTP tests for detailed examples.



The HTTP client does not throw unless truly exceptional.

  • A request that successfully executes resulting in a 404, 500 etc... will return a response object with a status code and a body.
  • Redirects (3xx) will be followed by default.

See HTTP tests for detailed examples.


To enable detailed console logging of all HTTP requests and responses, set the NODE_DEBUG environment varible:

export NODE_DEBUG=http

Node support

The http-client is built using the latest LTS version of Node 12. It may work on previous node LTS versions but it's tested and officially supported on Node12+.

Support and Versioning

We follow semver and will hold compatibility between major versions and increment the minor version with new features and capabilities (while holding compat).


We welcome PRs. Please create an issue and if applicable, a design before proceeding with code.


$ npm install

To build:

$ npm run build

To run all tests:

$ npm test