Documentation

Integrate Shugoi

Choose your framework

Install

npm install shugoi

Configure

app.js
import express from 'express';
import { createShugoiMiddleware } from 'shugoi';
 
const app = express();
app.use(createShugoiMiddleware({ siteKey: 'sg_sk_live_xxx', secret: 'your_secret' }));
app.get('/', (req, res) => res.send('<h1>OK</h1>'));
app.listen(3000);

Test

$ curl http://localhost:3000
+---------------------------------------------+
| BLOCKED BY SHUGOI |
+---------------------------------------------+
| Bots, scrapers and headless clients |
| are blocked by Shugoi protection. |
| |
| Use a standard browser to access |
| this site. |
+---------------------------------------------+

→ Depending on your rules, Shugoi can reject clients that execute neither JavaScript nor the proof of work. A plain User-Agent is not enough.

Shugoi processes technical signals to prevent abuse. Derived identifiers are pseudonymised, retained for up to 13 months after last activity and are not shared across separate customers. Each integration must document its legal basis and inform visitors.

Shugoi Notice · Legal notices · OpenAPI