OrbTop

AI Incident Database Tracker

AIDEVELOPER TOOLSOTHER

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
  • 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

  1. Set a starting incident id (default 1) and a maxItems cap.
  2. The scraper walks the id space sequentially, fetching each incident's full structured record.
  3. Each valid incident returns its full record: description, deployer/developer/harmed-party lists resolved to names, every linked report, and its taxonomy classifications.
  4. 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.

Why use this instead of the AI Incident Database's own site?

No need to click through hundreds of individual /cite/<id>/ pages, copy-paste fields, or write your own scraper — this actor returns the same data as clean, structured rows you can export or pipe straight into your own tools.

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?

  • Fast and cheap — one lightweight request per incident
  • 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 — there's no other programmatic, ready-to-export route to this data