Skip to content

node-fetchvssuperagent

MIT 241 10 8,860
553.6 million (month) Dec 28 2012 3.3.2(2023-11-30 14:10:12 ago)
16,610 16 180 MIT
Aug 22 2011 41.1 million (month) 10.1.1(2024-10-22 17:26:05 ago)

node-fetch is a lightweight library that provides a fetch()-like API for making HTTP requests in Node.js. It is a light-weight implementation of the Fetch API, which is mostly compatible with the browser's version.

node-fetch is primarily known as almost identical package fetch() is included in web browsers so it shares the same use common API. It's great starting point for people coming from front-end environment.

superagent is an HTTP client library for Node.js that provides a simple, flexible, and powerful API for making HTTP requests. It supports all major HTTP methods, and has a clean and easy-to-use interface for handling responses and errors.

what differentiates superagent from other http clients is its simple declarative API.

Highlights


popular
declarativeproxypopular

Example Use


```javascript const fetch = require('node-fetch'); // fetch supports both Promises and async/await fetch('http://httpbin.org/get') .then(res => res.text()) .then(body => console.log(body)) .catch(err => console.error(err)); const response = await fetch('http://httpbin.org/get'); // for concurrent scraping Promise.all can be used const results = await Promise.all([ fetch('http://httpbin.org/html'), fetch('http://httpbin.org/html'), fetch('http://httpbin.org/html'), ]) // POST requests await fetch('http://httpbin.org/post', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ name: 'John Doe' }), }) // Proxy use: const agent = new https.Agent({ rejectUnauthorized: false, proxy: { host: 'proxy.example.com', port: 8080 } }); await fetch('https://httpbin.org/ip', { agent }) // setting headers and cookies const headers = new fetch.Headers(); headers.append('Cookie', 'myCookie=123'); headers.append('X-My-Header', 'myValue'); await fetch('https://httpbin.org/headers', { headers }) ```
```javascript const superagent = require('superagent'); // superagent supports both Promises and async/await superagent.get('https://httpbin.org/get') .then(res => console.log(res.text)) .catch(err => console.error(err)); const response = superagent.get('https://httpbin.org/get') // post requests: superagent.post('https://httpbin.org/post').send({ name: 'John Doe' }) // setting proxy superagent.get('https://httpbin.org/ip').proxy('http://proxy.example.com:8080') // settings headers and proxies superagent.get('https://httpbin.org/headers').set('Cookie', 'myCookie=123').set('X-My-Header', 'myValue') ```

Alternatives / Similar


Was this page helpful?