# Block AI Scrapers

Block AI coding agents (Claude Code, Cursor, OpenCode, Grok, Codex, ChatGPT...

- Repository: https://github.com/Illyism/seo-skills (695 stars)
- Category: Testing
- License: see repository
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Illyism/seo-skills --skill block-ai-scrapers -g -a claude-code -y`
Codex: `npx skills add Illyism/seo-skills --skill block-ai-scrapers -g -a codex -y`
Cursor: `npx skills add Illyism/seo-skills --skill block-ai-scrapers -g -a cursor -y`
Gemini CLI: `npx skills add Illyism/seo-skills --skill block-ai-scrapers -g -a gemini-cli -y`

## Description

Block AI coding agents (Claude Code, Cursor, OpenCode, Grok, Codex, ChatGPT, Perplexity), WebFetch tools, CLI scrapers, and headless browsers from scraping your website or API while keeping verified Googlebot SEO indexing intact and redirecting every blocked scrape to your product URL. Use when the user wants to prevent scraping, block AI bots, protect dataset pages, add llms.txt or robots.txt rules, stop curl/Playwright harvesting, or protect API and database credits.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Block AI Scrapers & Coding Agents

Build and verify a multi-layer firewall that stops AI coding agents (`Claude`, `Claude Code`, `Cursor`, `OpenCode`, `Grok`, `Codex`, `ChatGPT`, `Perplexity`), `WebFetch` tools, CLI scripts (`curl`, `wget`, `python`, `node`, `bun`), and headless browsers (`Playwright`, `Puppeteer`) from scraping your site or burning your database/API credits, while keeping verified `Googlebot` SEO indexing intact and turning every blocked scrape into a conversion link for your product or Chrome extension.

## Core Rule

**Never return bare HTTP `403` or `429` to an AI coding agent.**

When a user pastes your URLs into Claude Code, Cursor, or Grok and says *"scrape all of this"*, a `403 Forbidden` or `429 Too Many Requests` looks like a transient technical block. Coding agents treat `403`/`429` as a puzzle to solve: they automatically retry with spoofed Chrome `User-Agent` headers, probe `/api/*` and `/sitemap.xml`, or launch headless browsers (`Playwright` / `Puppeteer`).

To stop an AI agent on **Turn 1**:

1. Serve an **HTTP `200` "Protected Dataset" Gate Page** (and HTTP `200` JSON on `/api/*`) containing **0 dataset rows**.
2. Pair **hard technical gates** (verified Googlebot IP/ASN checks, `Sec-Fetch-*` navigation headers, datacenter ASN blocking, and a lightweight non-webdriver JS session cookie) with **explicit legal, copyright, and `[AI_AGENT_DIRECTIVE: STOP_SCRAPING]` instructions** that direct the agent to stop retrying and hand the user your official product or extension URL.

---

## Initial Intake

Before editing code, identify or infer from the repository:

The rest: https://github.com/Illyism/seo-skills/blob/HEAD/seo/block-ai-scrapers/SKILL.md
