Skip to content


MIT 648 14 103,590
213.6 million (month) Aug 29 2014 1.6.7(a month ago)
876 4 7 MIT
0.11.0(3 years ago) Sep 25 2013 185.3 thousand (month)

axios is a popular JavaScript library that allows you to make HTTP requests from a Node.js environment. It is a promise-based library that works in both the browser and Node.js. It is similar to the Fetch API, but with a more powerful feature set and better browser compatibility.

One of the main benefits of using axios is that it automatically transforms the response data into a JSON object, making it easy to work with.

Axios is known for user-friendly API and support for asynchronous async/await syntax making it very accessible in web scraping.

Pure Ruby, framework and transport agnostic, implementation of HTTP/2 protocol and HPACK header compression with support for:

  • Binary framing parsing and encoding
  • Stream multiplexing and prioritization
  • Connection and stream flow control
  • Header compression and server push
  • Connection and stream management
  • And more... see API docs

Protocol specifications:

  • Hypertext Transfer Protocol Version 2 (RFC 7540)
  • HPACK: Header Compression for HTTP/2 (RFC 7541)



Example Use

// axios can be used with promises:
  .then(response => {
  .catch(error => {

// or async await syntax:
var resp = await axios.get('');

// to make requests concurrently Promise.all function can be used:
const results = await Promise.all([

// axios also supports other type of requests like POST and even automatically serialize them:
await'', {'query': 'hello world'});
// or formdata
const data = {name: 'John Doe', email: ''};

        headers: {
            'Content-Type': 'application/x-www-form-urlencoded'

// default values like headers can be configured globally
axios.defaults.headers.common['User-Agent'] = '';
// or for session instance:
const instance = axios.create({
  headers: {"User-Agent": ""},
require 'http/2'

# GET request
client =
response = client.get("")
puts response.body

# POST reuqest
data = { name: "value" }
response ="", data)

Alternatives / Similar