Who runs data and AI

103 moves, 30 days · 384 in their seats

For AI agents

A growing, sourced roster of current and past CEOs, CTOs, Chief AI, Data and Analytics Officers, chief scientists and heads of AI and data at tech companies and AI labs (from company pages, SEC filings, press releases, news, Wikipedia and Wikidata), plus dated moves from announcements and 8-K filings, with provenance on every row and an append-only change log.

Updated 29m agoMoves checked every day at 06:00 UTC, with a catch-up run at 16:30 UTC; a slice of companies.fru.dev registry companies re-read every day, the whole roster monthly

Point your agent here

Call the API

  • GET /api/movescompany?, person?, role?, type?, from?, to?, q?, limit?, offset?moves with person, type, role, from and to company and title, date, source link and the reason as the source states it
  • GET /api/whocompanythe company, its current holders (role, person, title, since) and every move to or from it
  • GET /api/companieslimit?, offset?, since?companies with domain, industry, move count, current leaders (CEO, CTO, data and AI chiefs) and past ones, each with title, dates and source; with since=: slug, domain, url, leaders and dated items, changed after that time
  • GET /api/changessince?, limit?, offset?changes with company, person slug, role, field, old and new value, time, source URL, title (company: person) and sentence (the change in one plain sentence); newest first, or oldest first after since=
  • GET /api/searchq, limit?up to 20 ranked results with title, link and one line

GET/api/moves

Leadership moves, latest first, with optional filters

  • companyCompany slug, as in /companies/<slug> (moves to or from it)
  • personPerson slug, as in /people/<slug>
  • roleRole key
  • typeMove type
  • fromAnnounced on or after, YYYY-MM-DD
  • toAnnounced on or before, YYYY-MM-DD
  • qWords in the person, company or title
  • limitItems per page, 1 to 200
  • offsetItems to skip, for the next page
Shell
curl -s "https://leaders.fru.dev/api/moves?role=chief-ai-officer&limit=3"
Sample response
JSON
{
  "note": "From public announcements and filings. Roles as reported on the date shown. Logos via logo.dev; trademarks belong to their owners.",
  "moves": [
    {
      "id": "2026-08-nimrod-barak-synchrony",
      "person": "Nimrod Barak",
      "personSlug": "nimrod-barak",
      "type": "poached",
      "role": "chief-ai-officer",
      "from": "citi",
      "fromName": "Citi",
      "fromDomain": "citigroup.com",
      "fromTitle": "Managing Director, Head of AI Center of Excellence and Emerging Technologies",
      "to": "synchrony",
      "toName": "Synchrony",
      "toDomain": "synchrony.com",
      "toTitle": "Chief AI Officer",
      "date": "2026-08-13"
    },
    {
      "id": "2026-08-chandhu-nair-target",
      "person": "Chandhu Nair",
      "personSlug": "chandhu-nair",
      "type": "poached",
      "role": "chief-ai-officer",
      "from": "lowes",
      "fromName": "Lowe's",
      "fromDomain": "lowes.com",
      "fromTitle": "SVP of stores, data, AI and innovation",
      "to": "target",
      "toName": "Target",
      "toDomain": "target.com",
      "toTitle": "chief AI officer and SVP",
      "date": "2026-08-11"
    }
  ],
  "total": 8,
  "limit": 3,
  "offset": 0,
  "next": "/api/moves?role=chief-ai-officer&limit=3&offset=3"
}

GET/api/who

Who holds the data and AI seats at one company now, and its moves

  • companyCompany slug, as in /companies/<slug>
Shell
curl -s "https://leaders.fru.dev/api/who?company=apple"
Sample response
JSON
{
  "company": {
    "slug": "apple",
    "name": "Apple",
    "domain": "apple.com",
    "industry": "big-tech",
    "kind": "enterprise",
    "ticker": "",
    "moves": 2,
    "updatedAt": "2026-09-24 20:41:52"
  },
  "holders": [
    {
      "role": "ceo",
      "person": "John Ternus",
      "personSlug": "john-ternus",
      "title": "Chief Executive Officer",
      "since": "",
      "until": "",
      "moveId": "",
      "unverified": false,
      "sourceUrl": "https://en.wikipedia.org/wiki/Apple_Inc.",
      "sourceName": "Wikipedia: Apple Inc.",
      "sourceKind": "wikipedia",
      "company": "apple"
    },
    {
      "role": "head-of-ai",
      "person": "Amar Subramanya",
      "personSlug": "amar-subramanya",
      "title": "vice president of AI",
      "since": "2025-12-01",
      "until": "",
      "moveId": "2025-12-amar-subramanya-apple",
      "unverified": false,
      "sourceUrl": "https://www.apple.com/newsroom/2025/12/john-giannandrea-to-retire-from-apple/",
      "sourceName": "Apple Newsroom",
      "sourceKind": "move",
      "company": "apple"
    }
  ],
  "past": [
    {
      "role": "ceo",
      "person": "Tim Cook",
      "personSlug": "tim-cook",
      "title": "Chief Executive Officer",
      "since": "2011-08-24",
      "until": "2026-08-31",
      "moveId": "",
      "unverified": false,
      "sourceUrl": "https://en.wikipedia.org/wiki/Tim_Cook",
      "sourceName": "Wikipedia: Tim Cook",
      "sourceKind": "curated",
      "company": "apple"
    },
    {
      "role": "head-of-ai",
      "person": "John Giannandrea",
      "personSlug": "john-giannandrea",
      "title": "Senior Vice President, Machine Learning and AI Strategy",
      "since": "2018-04",
      "until": "2025-12-01",
      "moveId": "",
      "unverified": false,
      "sourceUrl": "https://www.apple.com/newsroom/2025/12/john-giannandrea-to-retire-from-apple/",
      "sourceName": "Apple Newsroom",
      "sourceKind": "curated",
      "company": "apple"
    }
  ],
  "moves": [
    {
      "id": "2025-12-amar-subramanya-apple",
      "person": "Amar Subramanya",
      "personSlug": "amar-subramanya",
      "type": "poached",
      "role": "head-of-ai",
      "from": "microsoft",
      "fromName": "Microsoft",
      "fromDomain": "microsoft.com",
      "fromTitle": "corporate vice president of AI",
      "to": "apple",
      "toName": "Apple",
      "toDomain": "apple.com",
      "toTitle": "vice president of AI",
      "date": "2025-12-01"
    },
    {
      "id": "2025-12-john-giannandrea-apple",
      "person": "John Giannandrea",
      "personSlug": "john-giannandrea",
      "type": "retired",
      "role": "head-of-ai",
      "from": "apple",
      "fromName": "Apple",
      "fromDomain": "apple.com",
      "fromTitle": "senior vice president for Machine Learning and AI Strategy",
      "to": "",
      "toName": "",
      "toDomain": "",
      "toTitle": "",
      "date": "2025-12-01"
    }
  ]
}

GET/api/companies

Every company with a leader or a move on record. With since= it returns the registry sync shape instead

  • limitItems per page, 1 to 200
  • offsetItems to skip, for the next page
  • sinceISO date or time: companies whose leaders or moves changed after it, in the companies.fru.dev registry shape (empty value: every company). limit up to 1000 here
Shell
curl -s "https://leaders.fru.dev/api/companies?limit=3"
Sample response
JSON
{
  "companies": [
    {
      "slug": "openai",
      "name": "OpenAI",
      "domain": "openai.com",
      "industry": "ai-lab",
      "kind": "enterprise",
      "ticker": "",
      "moves": 5,
      "lastMove": "2026-07-09",
      "holders": [
        {
          "role": "cto",
          "person": "Vijaye Raji",
          "personSlug": "vijaye-raji",
          "title": "CTO of Applications",
          "since": "2025-09-02",
          "until": "",
          "moveId": "2025-09-vijaye-raji-openai",
          "unverified": false,
          "sourceUrl": "https://techcrunch.com/2025/09/02/openai-acquires-product-testing-startup-statsig-and-shakes-up-its-leadership-team/",
          "sourceName": "TechCrunch",
          "sourceKind": "move",
          "company": "openai"
        },
        {
          "role": "chief-scientist",
          "person": "Jakub Pachocki",
          "personSlug": "jakub-pachocki",
          "title": "Chief Scientist",
          "since": "2024-05-14",
          "until": "",
          "moveId": "",
          "unverified": false,
          "sourceUrl": "https://www.theverge.com/2024/5/14/24156920/openai-chief-scientist-ilya-sutskever-leaves",
          "sourceName": "The Verge",
          "sourceKind": "curated",
          "company": "openai"
        }
      ],
      "past": [
        {
          "role": "other",
          "person": "Fidji Simo",
          "personSlug": "fidji-simo",
          "title": "CEO of Applications",
          "since": "2025-05-07",
          "until": "2026-07-09",
          "moveId": "2025-05-fidji-simo-openai",
          "unverified": false,
          "sourceUrl": "https://techcrunch.com/2025/05/07/instacart-ceo-fidji-simo-is-joining-openai/",
          "sourceName": "TechCrunch",
          "sourceKind": "move",
          "company": "openai"
        },
        {
          "role": "cto",
          "person": "Mira Murati",
          "personSlug": "mira-murati",
          "title": "Chief Technology Officer",
          "since": "2018",
          "until": "2024-09-25",
          "moveId": "",
          "unverified": false,
          "sourceUrl": "https://en.wikipedia.org/wiki/Mira_Murati",
          "sourceName": "Wikipedia: Mira Murati",
          "sourceKind": "curated",
          "company": "openai"
        }
      ],
      "url": "https://leaders.fru.dev/companies/openai"
    },
    {
      "slug": "deepmind",
      "name": "DeepMind",
      "domain": "deepmind.google",
      "industry": "ai-lab",
      "kind": "enterprise",
      "ticker": "",
      "moves": 3,
      "lastMove": "2026-08-05",
      "holders": [
        {
          "role": "head-of-ai",
          "person": "Koray Kavukcuoglu",
          "personSlug": "koray-kavukcuoglu",
          "title": "SVP of Google DeepMind",
          "since": "2026-08-05",
          "until": "",
          "moveId": "2026-08-koray-kavukcuoglu-deepmind",
          "unverified": false,
          "sourceUrl": "https://blog.google/company-news/inside-google/message-ceo/next-chapter-ai-momentum/",
          "sourceName": "Google Blog",
          "sourceKind": "move",
          "company": "deepmind"
        }
      ],
      "past": [],
      "url": "https://leaders.fru.dev/companies/deepmind"
    }
  ],
  "total": 298,
  "limit": 3,
  "offset": 0,
  "next": "/api/companies?limit=3&offset=3"
}

GET/api/changes

The append-only change log: leaders added to the roster, seats ended, title changes, published moves

  • sinceISO date or time: only changes after it, oldest first
  • limitRows, 1 to 500
  • offsetRows to skip
Shell
curl -s "https://leaders.fru.dev/api/changes?limit=3"
Sample response
JSON
{
  "note": "Append-only: rows are only ever added. field: seated (a holder added to the roster), ended (end date set), title, start_date, move (a pub...",
  "since": null,
  "order": "newest first",
  "count": 3,
  "limit": 3,
  "offset": 0,
  "next": 3,
  "changes": [
    {
      "id": 573,
      "company": "twilio",
      "personSlug": "mark-simms",
      "role": "cto",
      "field": "seated",
      "old": "",
      "new": "CTO",
      "at": "2026-09-24T20:44:08Z",
      "sourceUrl": "https://en.wikipedia.org/wiki/Twilio",
      "page": "https://leaders.fru.dev/companies/twilio"
    },
    {
      "id": 572,
      "company": "tsmc",
      "personSlug": "che-chia-wei",
      "role": "ceo",
      "field": "seated",
      "old": "",
      "new": "president, chairman and Chief Executive Officer",
      "at": "2026-09-24T20:44:08Z",
      "sourceUrl": "https://pr.tsmc.com/english/news/3148",
      "page": "https://leaders.fru.dev/companies/tsmc"
    }
  ]
}

Add to your agent

System prompt
For who runs a tech company or AI lab (CEO, CTO, Chief AI, Data and Analytics Officers, chief scientists, heads of AI and data) and their moves, fetch https://leaders.fru.dev/llms.txt and use https://leaders.fru.dev/api/moves (spec: https://leaders.fru.dev/openapi.json). Cite "Leaders (leaders.fru.dev)" with a link.

Usage terms

  • Free to read, no key needed
  • Cite "Leaders (leaders.fru.dev)" with a link
  • Responses are cached; moves checked every day at 06:00 UTC, with a catch-up run at 16:30 UTC; a slice of companies.fru.dev registry companies re-read every day, the whole roster monthly
  • Keep to 60 requests a minute or fewer
  • Moves marked unverified were found by the daily agent in a filing or article and not yet checked by hand.