LogoDuyệtSr. Data Engineer
HomeAboutPhotosInsightsCV

Footer

Logo

Resources

  • Rust Tiếng Việt
  • /archives
  • /series
  • /tags
  • Status

me@duyet.net

  • About
  • LinkedIn
  • Resume
  • Projects

© 2026 duyet.net | Sr. Data Engineer

Detect robots in koa

Note: This post is over 10 years old. The information may be outdated.

Koa detect robots. Fast Middleware detect bot crawler for Koa.

Note (2025): This guide covers the koa-isbot middleware for Koa v1 and v2. The plugin approach is still valid for Koa applications. For modern alternatives, consider checking the User-Agent header directly using libraries like ua-parser-js or checking if newer bot detection packages are actively maintained.

Installation

npm install koa-isbot --save

Usage

const Koa = require('koa');
const isBot = require('koa-isbot');
const app = new Koa();

app.use(isBot());

app.use(function* (next) {
  console.log('isBot? ', this.state.isBot);
  // null or 'googlebot', 'bingbot', ...
});

app.listen(3000);

Update for Koa2

const Koa = require('koa');
const isBot = require('koa-isbot');
const app = new Koa();

app.use(isBot());

app.use(async (ctx, next) => {
  console.log('isBot? ', ctx.isBot);
  // null or 'googlebot', 'bingbot', ...
});

app.listen(3000);

Support list

  • Google bot - googlebot
  • Baidu - baiduspider
  • Guruji - gurujibot
  • Yandex - yandexbot
  • Slurp- slurp
  • MSN - msnbot
  • Bing - bingbot
  • Facebook - facebookexternalhit
  • Linkedin - linkedinbot
  • Twitter - twitterbot
  • Slack - slackbot
  • Telegram - telegrambot
  • Apple - applebot
  • Pingdom - pingdom
  • tumblr - tumblr

Source code

  • GitHub: https://github.com/duyet/koa-isbot
  • NPM: https://www.npmjs.com/package/koa-isbot

How to contribute

  1. Fork the project on Github (https://github.com/duyet/koa-isbot/fork)
  2. Create a topic branch for your changes
  3. Ensure that you provide documentation and test coverage for your changes (patches won’t be accepted without)
  4. Create a pull request on Github (these are also a great place to start a conversation around a patch as early as possible)
Feb 21, 2016·10 years ago
|Javascript|
Node.jsJavascript Framework
|Edit|
On this page
  • Installation
  • Usage
  • Support list
  • Source code
  • How to contribute
On this page
  • Installation
  • Usage
  • Support list
  • Source code
  • How to contribute