Skip to content
Ajax with less suck - (and node.js HTTP client to match)
JavaScript Other
Latest commit c1f55f1 @pornel pornel Merge pull request #884 from focusaurus/request-base
extract common code into request-base object

SuperAgent Build Status

Sauce Test Status

SuperAgent is a small progressive client-side HTTP request library, and Node.js module with the same API, sporting many high-level HTTP client features. View the docs.

super agent



$ npm install superagent


$ component install visionmedia/superagent

Works with browserify and should work with webpack

  .send({ name: 'Manny', species: 'cat' })
  .set('X-API-Key', 'foobar')
  .set('Accept', 'application/json')
  .end(function(err, res){
    // Calling the end function will send the request

Supported browsers

Tested browsers:

  • Latest Android
  • Latest Firefox
  • Latest Chrome
  • IE9 through latest
  • Latest iPhone
  • Latest Safari

Even though IE9 is supported, a polyfill window.btoa is needed to use basic auth.


Superagent is easily extended via plugins.

var nocache = require('superagent-no-cache');
var request = require('superagent');
var prefix = require('superagent-prefix')('/static');

.use(prefix) // Prefixes *only* this request
.use(nocache) // Prevents caching of *only* this request
.end(function(err, res){
    // Do something

Existing plugins:

Please prefix your plugin with superagent-* so that it can easily be found by others.

For superagent extensions such as couchdb and oauth visit the wiki.

Running node tests

Install dependencies:

$ npm install

Run em!

$ make test

Running browser tests

Install dependencies:

$ npm install

Start the test runner:

$ make test-browser-local

Visit http://localhost:4000/__zuul in your browser.

Edit tests and refresh your browser. You do not have to restart the test runner.



Something went wrong with that request. Please try again.