{"id":20258579,"url":"https://github.com/dmitrizzle/disallow-ai","last_synced_at":"2026-05-13T03:10:36.591Z","repository":{"id":226126984,"uuid":"767837032","full_name":"dmitrizzle/disallow-ai","owner":"dmitrizzle","description":"Maintained robots.txt disallow list for known AI scraper tools","archived":false,"fork":false,"pushed_at":"2024-03-29T02:46:59.000Z","size":87,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-06T09:38:09.323Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dmitrizzle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-06T01:26:47.000Z","updated_at":"2024-06-17T17:42:51.000Z","dependencies_parsed_at":"2025-03-03T18:38:02.439Z","dependency_job_id":"5454dd24-b5c1-40eb-b21a-43ebec1e43fe","html_url":"https://github.com/dmitrizzle/disallow-ai","commit_stats":null,"previous_names":["dmitrizzle/disallow-ai"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dmitrizzle/disallow-ai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmitrizzle%2Fdisallow-ai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmitrizzle%2Fdisallow-ai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmitrizzle%2Fdisallow-ai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmitrizzle%2Fdisallow-ai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dmitrizzle","download_url":"https://codeload.github.com/dmitrizzle/disallow-ai/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmitrizzle%2Fdisallow-ai/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32965918,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T23:30:32.555Z","status":"online","status_checked_at":"2026-05-13T02:00:07.132Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T11:09:43.329Z","updated_at":"2026-05-13T03:10:36.561Z","avatar_url":"https://github.com/dmitrizzle.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Opt your web properties out from known AI scraper tools.\n\n`yarn add disallow-ai` or `npm i disallow-ai`\n\nThis is an opinionated, maintained list of known user agents of scraper bots that use web content to train AI models.\n\nThis package is intended to help webmasters automatically opt out of training AI/machine learning models with the content of a property. Its intention is to remain visible for search engines and productivity tools. It's optimized for Node.js servers (e.x., Express/Next.js) but you can also copy-paste contents from [`src/robots.txt`](/src/robots.txt) directly into your `robots.txt` file on any web server.\n\n\n### API.\n- `printRobotsTXT(options)` prints text string for `robots.txt` (same content as the above snippet).\n    - `options.path` if you want to set a disallow path to something other than `/`, you'll need to pass a value to this key.\n- `userAgents` is a direct reference to an array of objects with all the user agent info.\n\n#### Example.\n```javascript\nconst express = require(\"express\");\nconst server = express();\n\nconst { printRobotsTXT } = require(\"disallow-ai\");\nserver.get(\"/robots.txt\", (req, res, next) =\u003e {\n    res.type(\"text/plain\");\n    res.send(printRobotsTXT());\n});\n\nserver.listen();\n\n```\nYou can run an example server with `node ./example/server.js`.\n\n### Sources.\nhttps://darkvisitors.com/\n\nContributions welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmitrizzle%2Fdisallow-ai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdmitrizzle%2Fdisallow-ai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmitrizzle%2Fdisallow-ai/lists"}