AI Crawler Index Bulk API

The whole dataset in several shapes.

Operations 3

GET /data/agents.json Every crawler record, plus categories and an endpoint map #
GET /data/agents.csv The same table as CSV #
GET /data/ua-regex.json Pre-escaped user-agent regexes, whole-list and per category #

Documentation

Specifications

Schemas & Data

Other Resources

🔗
x-openapi-yaml
https://www.pathwren.workers.dev/openapi.yaml
🔗
Swagger
https://www.pathwren.workers.dev/swagger.json
🔗
Feed
https://www.pathwren.workers.dev/feed.xml
🔗
Feed
https://www.pathwren.workers.dev/feed.json
🔗
x-mcp-server
https://www.pathwren.workers.dev/mcp
🔗
x-mcp-manifest
https://www.pathwren.workers.dev/.well-known/mcp.json
🔗
x-onboarding
https://www.pathwren.workers.dev/.well-known/api-onboarding
🔗
x-plugin-manifest
https://www.pathwren.workers.dev/.well-known/ai-plugin.json
🔗
x-api-catalog
https://www.pathwren.workers.dev/.well-known/api-catalog
🔗
x-llms-txt
https://www.pathwren.workers.dev/llms.txt
🔗
x-bulk-data
https://www.pathwren.workers.dev/data/agents.json
🔗
x-ip-ranges
https://www.pathwren.workers.dev/ip-ranges/all.json
🔗
x-security-txt
https://www.pathwren.workers.dev/.well-known/security.txt
🔗
x-sitemap
https://www.pathwren.workers.dev/sitemap.xml
🔗
StatusPage
https://www.pathwren.workers.dev/status.html
🔗
License
https://creativecommons.org/publicdomain/zero/1.0/
🔗
Conventions
https://raw.githubusercontent.com/api-evangelist/pathwren/refs/heads/main/conventions/pathwren-conventions.yml
🔗
ErrorCatalog
https://raw.githubusercontent.com/api-evangelist/pathwren/refs/heads/main/errors/pathwren-problem-types.yml
🔗
DataModel
https://raw.githubusercontent.com/api-evangelist/pathwren/refs/heads/main/data-model/pathwren-data-model.yml
🔗
ToolCrosswalk
https://raw.githubusercontent.com/api-evangelist/pathwren/refs/heads/main/mcp/pathwren-tool-crosswalk.yml
🔗
ChangeLog
https://www.pathwren.workers.dev/changelog.html
🔗
APIsJSON
https://raw.githubusercontent.com/api-evangelist/pathwren/refs/heads/main/apis.yml

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/pathwren-bulk-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

pathwren-bulk-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AI Crawler Index Bulk API
  version: '2026-09-01'
  summary: Every AI crawler on the web, what it is for, what blocking it costs you, and the IP ranges its operator publishes — as JSON, CSV, robots.txt and regex.
  description: 'A read-only, static, keyless index of 56 web crawlers operated by 30 companies and projects: what each one is for, the exact robots.txt token and user-agent substring, whether the operator says it obeys robots.txt, how to verify it is genuine, and — the part nobody else publishes — what you lose by blocking it.'
  license:
    name: CC0-1.0
    url: https://creativecommons.org/publicdomain/zero/1.0/
  contact:
    url: https://www.pathwren.workers.dev/about.html
servers:
- url: https://www.pathwren.workers.dev
tags:
- name: Bulk
  description: The whole dataset in several shapes.
paths:
  /data/agents.json:
    get:
      summary: Every crawler record, plus categories and an endpoint map
      operationId: listCrawlers
      tags:
      - Bulk
      responses:
        '200':
          description: 56 records
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                  generated_at:
                    type: string
                    format: date-time
                  crawlers:
                    type: array
                    items:
                      $ref: '#/components/schemas/Crawler'
              example:
                count: 56
                generated_at: '2026-09-01T11:48:49+00:00'
                crawlers:
                - slug: oai-searchbot
                  name: OAI-SearchBot
                  operator: OpenAI
                  operator_slug: openai
                  category: ai-search
                  category_label: AI search crawlers
                  robots_token: OAI-SearchBot
                  user_agent_substring: OAI-SearchBot
                  user_agent_example: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot
                  respects_robots_txt: documented
                  respects_robots_txt_label: obeys robots.txt (documented)
                  verification_method: published-ranges
                  verification_label: published IP ranges
                  published_ip_ranges_url: https://openai.com/searchbot.json
                  ip_ranges_endpoint: https://www.pathwren.workers.dev/ip-ranges/openai-searchbot.json
                  ipv4_prefix_count: 35
                  ipv6_prefix_count: 0
                  what_it_is: Builds the index ChatGPT search answers from. Content it collects is used for retrieval and citation, not for model training.
                  cost_of_blocking: High. Blocking this removes you from ChatGPT search results and from the source links ChatGPT shows. This is the single most expensive block on this list for anyone who wants to be cited by an assistant.
                  operator_docs: https://platform.openai.com/docs/bots
                  html_url: https://www.pathwren.workers.dev/crawler/oai-searchbot.html
                  json_url: https://www.pathwren.workers.dev/crawler/oai-searchbot.json
                  last_reviewed: '2026-09-01'
  /data/agents.csv:
    get:
      summary: The same table as CSV
      operationId: listCrawlersCsv
      tags:
      - Bulk
      responses:
        '200':
          description: CSV with a header row
          content:
            text/csv:
              schema:
                type: string
  /data/ua-regex.json:
    get:
      summary: Pre-escaped user-agent regexes, whole-list and per category
      operationId: getUserAgentRegex
      tags:
      - Bulk
      responses:
        '200':
          description: Regex alternations
          content:
            application/json:
              schema:
                type: object
                properties:
                  all:
                    type: string
                  ai_only:
                    type: string
                  by_category:
                    type: object
                    additionalProperties:
                      type: string
components:
  schemas:
    Crawler:
      type: object
      required:
      - slug
      - name
      - operator
      - category
      - robots_token
      properties:
        slug:
          type: string
          description: Stable identifier used in URLs.
        name:
          type: string
        operator:
          type: string
        operator_slug:
          type: string
        category:
          type: string
          enum:
          - ai-search
          - ai-training
          - archive
          - dataset
          - preview
          - search
          - seo
          - tool
          - user-fetch
        robots_token:
          type: string
          description: Exact User-agent value for robots.txt.
        user_agent_substring:
          type: string
          description: Substring that reliably identifies it in a UA header. A match is a claim, not a proof.
        user_agent_example:
          type: string
        respects_robots_txt:
          type: string
          enum:
          - documented
          - by-design-no
          - disputed
          - n-a
        verification_method:
          type: string
          enum:
          - published-ranges
          - reverse-dns
          - none
        published_ip_ranges_url:
          type:
          - string
          - 'null'
          format: uri
        ipv4_prefix_count:
          type: integer
        ipv6_prefix_count:
          type: integer
        what_it_is:
          type: string
        cost_of_blocking:
          type: string
          description: What you lose by disallowing it. This index's own assessment, not the operator's.
        operator_docs:
          type: string
          format: uri
        last_reviewed:
          type: string
          format: date