AI Incident Database Tracker
Pricing
Pay per event
AI Incident Database Tracker
Structured feed of AI Incident Database (incidentdatabase.ai) incident records — title, description, alleged deployer/developer/harmed parties, linked reports, and CSET/GMF/MIT taxonomy tags — scraped from the public SSR pages since the GraphQL API is origin-gated.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
AI Incident Database Incident Scraper
Scrape structured incident records from the AI Incident Database. Returns titles, dates, descriptions, alleged deployers/developers, harmed parties, linked source reports, and CSET/GMF/MIT taxonomy tags for every catalogued AI-harm incident — over 1,500 and growing.
AI Incident Database Scraper Features
- Extracts full incident records — title, date, description, and every organization named as a deployer, developer, or harmed party
- Resolves entity IDs to display names, so you get "YouTube," not
youtube - Pulls every linked source report per incident, with title, source domain, publish date, and URL
- Returns CSET, GMF, and MIT taxonomy classifications — intent, severity, harm type, AI technique, risk domain — flattened into readable tags
- Walks the incident id space directly, one request per incident. No browser required
- Pick up mid-range with
startId— useful for incremental delta runs as new incidents get published
Who Uses AI Incident Database Data?
- AI governance and policy teams — build an evidence base for regulation proposals instead of screenshotting individual incidents
- Insurers underwriting AI liability — track real-world harm patterns by sector, deployer, and technology
- Researchers — study incident frequency, severity trends, and recurring failure modes across CSET's own taxonomy
- Safety and red-team teams — cross-reference known failure modes against systems they're evaluating, or at least the public record of what's already gone wrong
- Journalists — source specific, citable incidents with linked reporting instead of relying on memory
How AI Incident Database Scraper Works
- Set a starting incident id (default
1) and amaxItemscap. - The scraper walks the id space sequentially, fetching each incident's structured record directly — not the rendered HTML page, and not the site's GraphQL API (which only answers browser-origin requests).
- Each valid incident returns its full record: description, deployer/developer/harmed-party lists resolved to names, every linked report, and its taxonomy classifications.
- The run stops once it hits
maxItems, or after enough consecutive ids come back invalid to signal the end of the known range.
Input
{"startId": 1,"maxItems": 50}
| Field | Type | Default | Description |
|---|---|---|---|
startId | Integer | 1 | Incident id to begin enumeration from. Leave at 1 for a full crawl, or set it to pick up where a previous run left off. |
maxItems | Integer | 10 | Maximum number of incident records to return. |
AI Incident Database Scraper Output Fields
{"incident_id": 1,"title": "Google’s YouTube Kids App Presents Inappropriate Content","date": "2015-05-19","description": "YouTube’s content filtering and recommendation algorithms exposed children to disturbing and inappropriate videos.","alleged_deployer": ["YouTube"],"alleged_developer": ["YouTube"],"alleged_harmed_parties": ["Minors"],"report_count": 14,"reports": ["YouTube Kids, Criticized for Content, Introduces New Parental Controls (nytimes.com, 2018-04-26) [https://www.nytimes.com/2018/04/25/business/media/youtube-kids-parental-controls.html]"],"editor_notes": "","taxonomy_tags": ["CSETv0:Intent=Accident","CSETv0:Severity=Moderate","CSETv0:Harm Type=Psychological harm","MIT:Risk Domain=1. Discrimination and Toxicity"],"similar_incidents": [],"source_database": "aiid","incident_url": "https://incidentdatabase.ai/cite/1/","first_seen_at": "2026-07-13T06:34:38.570Z","scraped_at": "2026-07-13T06:34:38.570Z"}
| Field | Type | Description |
|---|---|---|
incident_id | Integer | AIID sequential incident identifier |
title | String | Incident title |
date | String | Incident date (editorially assigned) |
description | String | One-paragraph incident summary |
alleged_deployer | Array<String> | Organizations/entities alleged to have deployed the AI system |
alleged_developer | Array<String> | Organizations/entities alleged to have developed the AI system |
alleged_harmed_parties | Array<String> | Parties alleged to have been harmed or nearly harmed |
report_count | Integer | Number of linked source reports |
reports | Array<String> | Linked reports, formatted as title (source_domain, date_published) [url] |
editor_notes | String | AIID editor notes, where present |
taxonomy_tags | Array<String> | CSET/GMF/MIT classification tags, formatted as Namespace:Field=Value |
similar_incidents | Array<String> | Similar incident ids, where surfaced (best-effort — the source site computes this client-side via a gated endpoint, so it's often empty) |
source_database | String | Always aiid in this version |
incident_url | String | Canonical incidentdatabase.ai URL |
first_seen_at | String | ISO-8601 timestamp this id was first observed by this actor |
scraped_at | String | ISO-8601 timestamp this record was scraped |
FAQ
How do I scrape the AI Incident Database?
Run this actor with a startId and maxItems. It returns full incident records — no need to click through hundreds of /cite/<id>/ pages by hand.
What data can I get from AI Incident Database?
Every catalogued incident's title, date, description, alleged deployer/developer, harmed parties, linked source reports, and CSET/GMF/MIT taxonomy classifications. That's the same data editors see on the site, structured for export.
Does AI Incident Database Scraper need a browser or proxies?
No. It fetches the site's own JSON data endpoint directly. No Playwright, no proxy configuration, no CAPTCHA handling — the source is a plain public dataset once you know where to ask.
Why isn't the AIID GraphQL API used directly?
Because it's origin-gated — the AI Incident Database's /api/graphql endpoint rejects any request that isn't a browser tab on their own site. This actor reads the same structured data via the public page-data endpoint the site itself serves, which isn't gated.
Can I resume a large crawl where I left off?
Set startId to the incident id right after the last one you received, and run again with the same maxItems. The scraper walks ids sequentially, so this picks up cleanly.
Need More Features?
Need OECD AI Incidents Monitor coverage, a different taxonomy filter, or a different output shape? File an issue or get in touch.
Why Use AI Incident Database Scraper?
- No browser required — pure JSON fetches against the site's own data endpoint, so runs are fast and cheap
- Structured, not scraped-looking — entity ids resolve to real names, reports are deduplicated against the incident's actual citation list, and taxonomy tags are flattened into readable strings instead of a nested classification blob
- Fills a real gap — the AI Incident Database's API only answers browser-origin requests, so this is the only programmatic route to its data

