node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



Tries to detect if a request is coming from a machine or a person using a regular expression. Bot and browser User-Agent strings sourced from


$ npm install funnelweb


Funnelweb just takes a user agent string and returns "true" if it's probably a bot, or "false" otherwise.

var funnelweb = require('funnelweb')
funnelweb('GoogleBot') // true 
funnelweb('Google Chrome') // false 

If you pass it an HTTP request object, it'll read the User-Agent header and do the same:

var funnelweb = require('funnelweb')
  , http = require('http')
http.createServer(function(req, res) {
  var response = funnelweb(req)
  if (bot) {
    res.end('you are a bot')
  } else {
    res.end('you are not a bot')