Detect search engine crawlers by their User-Agent strings.


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(reqres) {
  var response = funnelweb(req)
  if (bot) {
    res.end('you are a bot')
  } else {
    res.end('you are not a bot')