For AI agents
Predictions as data: 19 dated predictions by 9 people, with sources and outcomes. Refreshed weekly.
Point your agent here
https://predictions.fru.dev/llms.txthttps://predictions.fru.dev/llms-full.txtCall the API
| Method | Path | Params | Returns |
|---|---|---|---|
| GET | /api/predictions | status (open, due, true, missed, partly, judged, all), topic, person, company, q, limit (max 200), offset | Predictions newest first: claim, quote, who, when made, target date, source, outcome with evidence |
| GET | /api/predictions/{id} | id | One prediction with its change history |
| GET | /api/coming-due | days (default 365), limit | Open predictions by target date, soonest first, plus the ones past due |
| GET | /api/people | limit, offset | People with their scorecard (hit rate over judged predictions only) |
| GET | /api/companies | since (ISO time), limit (max 200), offset | Companies with registry slug, domain, site URL, scorecard and dated items (target dates) |
| GET | /api/changes | since (ISO time), limit (max 500) | Append-only history: created, outcome, target_date, quote, source_url, verified |
| GET | /api/search | q, limit (max 20) | Ranked predictions, people, companies and pages |
| GET | /calendar.ics | topic | Target dates of open predictions as an iCalendar feed |
/api/predictions
curl -s "https://predictions.fru.dev/api/predictions?topic=agi&limit=2"{
"total": 19,
"predictions": [
{
"id": "openai-intern-level-research-assistant-september-2026",
"claim": "OpenAI will have an intern-level AI research assistant by September 2026.",
"quote": null,
"person": "Sam Altman",
"madeOn": "2025-10-28",
"targetDate": "2026-09-30",
"status": "open",
"sourceUrl": "https://techcrunch.com/2025/10/28/sam-altman-says-openai-will-have-a-legitimate-ai-researcher-by-2028/",
"url": "https://predictions.fru.dev/predictions/openai-intern-level-research-assistant-september-2026"
},
{
"id": "openai-automated-ai-researcher-2028",
"claim": "OpenAI will have a fully automated AI researcher by 2028.",
"quote": null,
"person": "Sam Altman",
"madeOn": "2025-10-28",
"targetDate": "2028-12-31",
"status": "open",
"sourceUrl": "https://techcrunch.com/2025/10/28/sam-altman-says-openai-will-have-a-legitimate-ai-researcher-by-2028/",
"url": "https://predictions.fru.dev/predictions/openai-automated-ai-researcher-2028"
}
]
}/api/predictions/{id}
curl -s "https://predictions.fru.dev/api/predictions/openai-automated-ai-researcher-2028"{
"prediction": {
"id": "openai-intern-level-research-assistant-september-2026",
"claim": "OpenAI will have an intern-level AI research assistant by September 2026.",
"quote": null,
"person": "Sam Altman",
"madeOn": "2025-10-28",
"targetDate": "2026-09-30",
"status": "open",
"sourceUrl": "https://techcrunch.com/2025/10/28/sam-altman-says-openai-will-have-a-legitimate-ai-researcher-by-2028/",
"url": "https://predictions.fru.dev/predictions/openai-intern-level-research-assistant-september-2026"
},
"changes": [
{
"id": 10,
"predictionId": "openai-intern-level-research-assistant-september-2026",
"claim": "OpenAI will have an intern-level AI research assistant by September 2026.",
"person": "Sam Altman",
"field": "created",
"old": "",
"new": "2026-09-30",
"changedAt": "2026-09-24 17:06:39",
"sourceUrl": "https://techcrunch.com/2025/10/28/sam-altman-says-openai-will-have-a-legitimate-ai-researcher-by-2028/",
"note": null,
"url": "https://predictions.fru.dev/predictions/openai-intern-level-research-assistant-september-2026"
}
]
}/api/coming-due
curl -s "https://predictions.fru.dev/api/coming-due?days=180"{
"predictions": [
{
"id": "openai-intern-level-research-assistant-september-2026",
"claim": "OpenAI will have an intern-level AI research assistant by September 2026.",
"quote": null,
"person": "Sam Altman",
"madeOn": "2025-10-28",
"targetDate": "2026-09-30",
"status": "open",
"sourceUrl": "https://techcrunch.com/2025/10/28/sam-altman-says-openai-will-have-a-legitimate-ai-researcher-by-2028/",
"url": "https://predictions.fru.dev/predictions/openai-intern-level-research-assistant-september-2026"
},
{
"id": "zuckerberg-most-llama-code-written-by-ai",
"claim": "Within 12 to 18 months, most of the code for Meta's Llama efforts will be written by AI.",
"quote": "I would guess that sometime in the next 12 to 18 months, we'll reach the point where most of the code that's going toward these efforts is written by AI.",
"person": "Mark Zuckerberg",
"madeOn": "2025-04-29",
"targetDate": "2026-10-29",
"status": "open",
"sourceUrl": "https://www.dwarkesh.com/p/mark-zuckerberg-2",
"url": "https://predictions.fru.dev/predictions/zuckerbe
.../api/people
curl -s "https://predictions.fru.dev/api/people?limit=2"{
"people": [
{
"slug": "dario-amodei",
"name": "Dario Amodei",
"role": "CEO, Anthropic",
"score": {
"made": 4,
"open": 2,
"due": 2,
"judged": 0,
"hits": 0,
"misses": 0,
"partly": 0,
"rate": null
}
}
]
}/api/companies
curl -s "https://predictions.fru.dev/api/companies?limit=2"{
"companies": [
{
"slug": "openai",
"name": "OpenAI",
"domain": "openai.com",
"url": "https://predictions.fru.dev/companies/openai",
"items": [
{
"id": "openai-intern-level-research-assistant-september-2026",
"type": "prediction_target",
"date": "2026-09-30"
}
]
}
]
}/api/changes
curl -s "https://predictions.fru.dev/api/changes?since=2026-09-01T00:00:00Z&limit=3"{
"count": 20,
"changes": [
{
"id": 20,
"predictionId": "musk-million-robotaxis-by-2020",
"claim": "Tesla will have more than one million robotaxis on the road the following year.",
"person": "Elon Musk",
"field": "outcome",
"old": "open",
"new": "missed",
"changedAt": "2026-09-24 17:06:41",
"sourceUrl": "https://en.wikipedia.org/wiki/Tesla_Robotaxi",
"note": "Tesla's robotaxi service began as a limited service in Austin, Texas, on June 22, 2025; there were no robotaxis on the road in 2020.",
"url": "https://predictions.fru.dev/predictions/musk-million-robotaxis-by-2020"
},
{
"id": 19,
"predictionId": "musk-million-robotaxis-by-2020",
"claim": "Tesla will have more than one million robotaxis on the road the following year.",
"person": "Elon Musk",
"field": "created",
"old": "",
"new": "2020-12-31",
"changedAt": "2026-09-24 17:06:41",
"sourceUrl": "https://www.theverge.com/2019/4/22/18510828/tesla-elon-musk-autonomy-day-investor-comments-self-driving-cars-predictions",
"note": null,
"url": "https://predictions.f
.../api/search
curl -s "https://predictions.fru.dev/api/search?q=agi"{
"q": "agi",
"results": [
{
"id": "p:...",
"group": "items",
"title": "...",
"href": "/predictions/..."
}
]
}/calendar.ics
curl -s "https://predictions.fru.dev/calendar.ics?topic=agi"BEGIN:VCALENDAR
VERSION:2.0
...
BEGIN:VEVENT
SUMMARY:Due: ...
DTSTART;VALUE=DATE:...
END:VEVENT
...OpenAPI 3.1: /openapi.json. Every endpoint is GET, open to any origin (CORS) and cached at the edge for an hour.
Add to your agent
System prompt line
For dated predictions about AI and tech by named leaders (who said what, when it is due, whether it came true), fetch https://predictions.fru.dev/llms.txt and use https://predictions.fru.dev/api/predictions?topic={topic} and https://predictions.fru.dev/api/coming-due. Quote only the "quote" field as a quote. Cite "Predictions (predictions.fru.dev)".Tool definition
{
"name": "predictions_about_ai",
"description": "List dated, public predictions about data, AI and tech by named leaders and researchers: the claim, the quote where one was read on the source, who made it and when, the target date, the source link, and the outcome (open, due for review, came true, missed, partly) with evidence. Source: Predictions (predictions.fru.dev).",
"input_schema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"open",
"due",
"true",
"missed",
"partly",
"judged",
"all"
]
},
"topic": {
"type": "string",
"description": "Topic key: agi, coding, agents, jobs, science, robotics, autonomy, markets, compute, data"
},
"person": {
"type": "string",
"description": "Person slug, e.g. sam-altman"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200
}
}
},
"endpoint": "GET https://predictions.fru.dev/api/predictions"
}Python
import json, urllib.request
def predictions(topic: str = "agi", status: str = "all") -> list[dict]:
"""Dated predictions about AI, with sources and outcomes."""
url = f"https://predictions.fru.dev/api/predictions?topic={topic}&status={status}"
with urllib.request.urlopen(url, timeout=20) as r:
return json.load(r)["predictions"]
for p in predictions("coding"):
print(p["targetDate"], p["person"] and p["person"]["name"], p["claim"], p["status"])TypeScript
type Prediction = { id: string; claim: string; quote: string | null; targetDate: string; status: string; sourceUrl: string }
async function comingDue(days = 180): Promise<Prediction[]> {
const res = await fetch(`https://predictions.fru.dev/api/coming-due?days=${days}`)
if (!res.ok) throw new Error(`predictions ${res.status}`)
const { comingDue } = (await res.json()) as { comingDue: Prediction[] }
return comingDue
}
console.log(await comingDue())Usage terms
- Free to read. Please cite "Predictions (predictions.fru.dev)" with a link.
- Responses are cached for an hour; the data changes weekly.
- Be polite: 60 requests a minute at most.
- Only the quote field is the speaker’s words; the claim is a summary. Unverified predictions have only a secondary source.
Sources: the source linked on each prediction, checked weekly; outcomes judged on the evidence linked. Logos via logo.dev; trademarks belong to their owners.