NodeJs Axios: How to Send POST Requests
To send POST requests with NodeJS Axios call the axios.post
method with uri
as the first argument and POST body
as the second argument. The third argument is the options
object and here you can set Content-Type using the headers
parameter.
const axios = require('axios');
const uri = 'https://httpbin.org/post'
const data = { key: 'value' }
const options = {
headers: {
'Content-Type': 'application/json'
}
}
axios.post(uri, data, options)
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
In this guide for The NodeJs Web Scraping Playbook, we will look at how to make POST
requests with the NodeJS Axios.
In this guide we will walk you through the most common ways of sending POST requests with NodeJS Axios:
Let's begin...
If you prefer to follow along with a video then check out the video tutorial version here:
Need help scraping the web?
Then check out ScrapeOps, the complete toolkit for web scraping.
POST JSON Data Using NodeJS Axios
A common scenario for using POST
requests is to send JSON data to an API endpoint, etc. Making POST requests this with NodeJS Axios is very simple.
We simply just need to call axios.post
method with data
as the second argument:
const axios = require('axios');
const uri = 'https://httpbin.org/post'
const data = { key: 'value' }
const options = {
headers: {
'Content-Type': 'application/json'
}
}
axios.post(uri, data, options)
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
POST Form Data Using NodeJS Axios
Another common use case for using POST
requests is to send form data to an endpoint.
To make form data POST requests with Axios we simply need to call axios.post
method with form data
as the second argument.
const axios = require('axios');
const uri = 'https://httpbin.org/post'
const data = `key1=value1&key2=value2`
const options = {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}
axios.post(uri, data, options)
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
Here Content-Type header in the third options
argument is set to application/x-www-form-urlencoded
so that the body
will be picked up as form data.
More Web Scraping Tutorials
So that's how you can send POST requests using NodeJs Axios.
If you would like to learn more about Web Scraping, then be sure to check out The Web Scraping Playbook.
Or check out one of our more in-depth guides: