API

Everything on SiPoly is available as open data: every published claim with its verbatim quote, source, resolution criteria and verdict, plus claimant scores, leaderboards and the promise tracker. The API is free, read-only and needs no key. This page lists every public endpoint, its parameters and a live example.

Basics

  • Base URL: https://sipoly.si/wp-json/sipoly/v1. Every endpoint is read-only GET and returns JSON (UTF-8). No key or account is needed.
  • What is included: published claims and claimants only. Drafts and claims awaiting review are never exposed. Each claim object carries review_status.
  • Licence and attribution: Quotes remain the property of their authors; SiPoly verdicts and criteria CC BY 4.0. Please credit “SiPoly (sipoly.si)” and link to the claim page (url) when you reuse verdicts or criteria.
  • Caching: responses are sent with Cache-Control: public, max-age=300, and the site’s page cache may serve copies that are a few minutes old. Data changes only when editors publish or grade claims, so polling more than every 5–10 minutes gains nothing.
  • Rate limits: the API has no per-client quota of its own, but our host may throttle or block heavy traffic. Please keep to about one request per second, cache what you fetch, and use paging rather than repeated full downloads. The two form endpoints (below) are limited to 3 submissions per hour per network.
  • CORS: Access-Control-Allow-Origin: *, so you can call the API from a browser.
  • Dates are YYYY-MM-DD. date_precision (day, month or year) says how much of date_said is meaningful: with month or year, ignore the day (and month) part.
  • Paged lists (/claims, /claimants) return {"total", "page", "per_page", "items", "license"} and the headers X-WP-Total and X-WP-TotalPages.
  • Errors use the standard WordPress shape {"code", "message", "data": {"status"}} with HTTP 400 (bad parameter) or 404 (not found).

Endpoints

Each example response is the real, current answer to the example request above it, with every list shortened to its first item (so per_page may say 20 while one item is shown).

GET/claims

All published claims, newest statement first, with filters and search.

ParameterValuesDefaultMeaning
statusopen, correct, partly, wrong, unresolvable, withdrawn—Verdict filter.
typeprediction, promise—Claim type.
categoryagi-timelines, capabilities, jobs-economy, risk-safety, policy, products, compute—Topic slug.
claimantclaimant slug—Only this claimant’s claims.
qtext—Words that must all appear in the headline, quote, claimant name or context.
per_page1–20050Items per page.
page1, 2, …1Page number.

Example: https://sipoly.si/wp-json/sipoly/v1/claims?status=wrong&type=promise&per_page=20

{
    "total": 16,
    "page": 1,
    "per_page": 20,
    "items": [
        {
            "id": 339,
            "slug": "tesla-robotaxi-8-10-metros-2025",
            "url": "https://sipoly.si/claim/tesla-robotaxi-8-10-metros-2025/",
            "headline": "Tesla robotaxi in \"eight to ten metro areas\" by end of 2025",
            "claimant": {
                "name": "Tesla",
                "slug": "tesla",
                "kind": "organization",
                "url": "https://sipoly.si/who/tesla/"
            },
            "type": "promise",
            "quote": "We do expect to be operating robotaxi in, I think, about eight to ten metro areas by the end of the year. It depends on various regulatory approvals.",
            "context": "Elon Musk on the Tesla Q3 2025 earnings call (Motley Fool transcript). He added: \"We expect to be operating in Nevada, Florida, and Arizona by the end of the year.\"",
            "date_said": "2025-10-22",
            "date_precision": "day",
            "source_url": "https://www.fool.com/earnings/call-transcripts/2025/10/22/tesla-tsla-q3-2025-earnings-call-transcript/",
            "archive_url": null,
            "categories": [
                "products"
            ],
            "stated_probability": null,
            "resolution_criteria": "Our interpretation: by 31 Dec 2025, Tesla operates a public robotaxi service in at least 8 US metro areas.",
            "resolution_criteria_note": "Operationalized by SiPoly editors; our interpretation, not the claimant's wording.",
            "resolve_by": "2025-12-31",
            "status": "wrong",
            "verdict": "Broken",
            "outcome": null,
            "resolved_date": "2025-12-31",
            "evidence": [
                {
                    "url": "https://www.businessinsider.com/elon-musk-tesla-robotaxi-missed-milestones-deadlines-2026-1",
                    "title": "Business Insider: Musk's missed 2025 robotaxi milestones (Dec 31, 2025)"
                }
            ],
            "grader_note": "",
            "specificity": 3,
            "points": 0,
            "brier": null,
            "review_status": "published",
            "last_reviewed": "2026-10-08",
            "share_image": "https://sipoly.si/og/claim-339.png",
            "late": {
                "status": "late_partial",
                "came_true_late": false,
                "happened_date": "2026-07-21",
                "happened_precision": "day",
                "days_after_deadline": 202,
                "within_double_time": false,
                "note": "Tesla Robotaxi now runs in 7 US metros (Austin, Bay Area, Dallas, Houston, Miami, Orlando, Tampa); the 7th (Orlando and Tampa) opened 21 Jul 2026. The Bay Area still has a safety driver in every car.",
                "evidence": [
                    {
                        "url": "https://www.notateslaapp.com/news/4769/tesla-robotaxi-app-now-available-worldwide",
                        "title": "Not a Tesla App: Tesla Robotaxi app now available in many more countries (2026)"
                    }
                ],
                "checked": "2026-10-08"
            }
        }
    ],
    "license": "Quotes remain the property of their authors; SiPoly verdicts and criteria CC BY 4.0."
}

GET/claims/{id}

One published claim by its numeric id. Same object as in /claims. 404 when the claim does not exist or is not published.

No parameters.

Example: https://sipoly.si/wp-json/sipoly/v1/claims/339

GET/claimants

People and organizations with at least one published claim, alphabetical, each with a score summary. Paged like /claims (changed in 0.1.4; it used to be a plain list).

ParameterValuesDefaultMeaning
kindperson, organization—Only people or only organizations.
per_page1–20050Items per page.
page1, 2, …1Page number.

Example: https://sipoly.si/wp-json/sipoly/v1/claimants?kind=organization&per_page=20&page=1

{
    "total": 37,
    "page": 1,
    "per_page": 20,
    "items": [
        {
            "name": "AI Futures Project",
            "slug": "ai-futures-project",
            "kind": "organization",
            "role": "Forecasting nonprofit behind the \"AI 2027\" scenario (Kokotajlo, Lifland, Larsen, Dean, Alexander)",
            "url": "https://sipoly.si/who/ai-futures-project/",
            "links": [
                "https://ai-2027.com/"
            ],
            "summary": {
                "claims": 4,
                "scored": 2,
                "open": 2,
                "too_vague": 0,
                "record": {
                    "correct": 2,
                    "partly": 0,
                    "wrong": 0
                },
                "score": 1,
                "hit_rate": 1,
                "wilson_95": [
                    0.3423802239546494,
                    1
                ],
                "mean_brier": null,
                "brier_n": 0,
                "ranked": false
            },
            "promises": {
                "kept": 0,
                "partly": 0,
                "broken": 0,
                "pending": 0,
                "other": 0,
                "total": 0,
                "kept_rate": null
            }
        }
    ],
    "license": "Quotes remain the property of their authors; SiPoly verdicts and criteria CC BY 4.0."
}

GET/claimants/{slug}

One claimant: the same summary, all of their published claims and a calibration table (stated probability bands against how often the events happened).

No parameters.

Example: https://sipoly.si/wp-json/sipoly/v1/claimants/white-house

{
    "name": "The White House (U.S. executive branch)",
    "slug": "white-house",
    "kind": "organization",
    "role": "U.S. federal government",
    "url": "https://sipoly.si/who/white-house/",
    "links": [
        "https://www.whitehouse.gov/"
    ],
    "summary": {
        "claims": 6,
        "scored": 5,
        "open": 1,
        "too_vague": 0,
        "record": {
            "correct": 5,
            "partly": 0,
            "wrong": 0
        },
        "score": 1,
        "hit_rate": 1,
        "wilson_95": [
            0.5655175313406071,
            1
        ],
        "mean_brier": null,
        "brier_n": 0,
        "ranked": true
    },
    "promises": {
        "kept": 5,
        "partly": 0,
        "broken": 0,
        "pending": 1,
        "other": 0,
        "total": 6,
        "kept_rate": 1
    },
    "claims": [
        {
            "id": 736,
            "slug": "eo14434-si-definition-60d",
            "url": "https://sipoly.si/claim/eo14434-si-definition-60d/",
            "headline": "EO 14434: proposed legal definition of \"Super Intelligence\" due to the President within 60 days",
            "claimant": {
                "name": "The White House (U.S. executive branch)",
                "slug": "white-house",
                "kind": "organization",
                "url": "https://sipoly.si/who/white-house/"
            },
            "type": "promise",
            "quote": "Within 60 days of the date of this order, the Assistant to the President for Science and Technology (APST), in consultation with the heads of other agencies as the APST deems appropriate, shall submit to the President proposed legislative language to establish a Federal definition of “Super Intelligence” and “SI”",
            "context": "Executive order \"Inaugurating the Era of Super Intelligence\" (EO 14434), signed 29 Sep 2026, which also directs agencies to use \"Super Intelligence\" and \"SI\" in place of \"Artificial Intelligence\" and \"AI\".",
            "date_said": "2026-09-29",
            "date_precision": "day",
            "source_url": "https://www.whitehouse.gov/presidential-actions/2026/09/inaugurating-the-era-of-super-intelligence/",
            "archive_url": null,
            "categories": [
                "policy"
            ],
            "stated_probability": null,
            "resolution_criteria": "Our interpretation: correct if by 28 Nov 2026 the APST has submitted the proposed legislative language for a federal definition of \"Super Intelligence\", as shown by a White House or OSTP statement, a transmitted bill text, or credible reporting; wrong if credible reporting shows it was not delivered on time.",
            "resolution_criteria_note": "Operationalized by SiPoly editors; our interpretation, not the claimant's wording.",
            "resolve_by": "2026-11-28",
            "status": "open",
            "verdict": "Pending",
            "outcome": null,
            "resolved_date": null,
            "evidence": [],
            "grader_note": "",
            "specificity": 3,
            "points": null,
            "brier": null,
            "review_status": "published",
            "last_reviewed": "2026-10-09",
            "share_image": "https://sipoly.si/og/claim-736.png",
            "late": null
        }
    ],
    "calibration": [
        {
            "lo": 0,
            "hi": 0.2,
            "n": 0,
            "mean_p": null,
            "freq": null
        }
    ]
}

GET/leaderboard

Ranked claimants (at least 5 resolved claims) plus those not yet ranked. score is the specificity-weighted average of claim points (0–1); wilson_95 is a 95% interval on the unweighted hit rate. See the Methodology.

ParameterValuesDefaultMeaning
kindall, person, organizationallWho to rank.
categoryagi-timelines, capabilities, jobs-economy, risk-safety, policy, products, compute—Rank on one topic only.

Example: https://sipoly.si/wp-json/sipoly/v1/leaderboard?kind=person

{
    "min_resolved": 5,
    "ranked": [
        {
            "rank": 1,
            "claimant": {
                "name": "Gary Marcus",
                "slug": "gary-marcus",
                "kind": "person"
            },
            "score": 0.95,
            "wilson_95": [
                0.6226415608917041,
                0.9837678272946745
            ],
            "n": 11,
            "record": {
                "correct": 10,
                "partly": 0,
                "wrong": 1
            },
            "mean_brier": null
        }
    ],
    "provisional": [
        {
            "rank": null,
            "claimant": {
                "name": "Elon Musk",
                "slug": "elon-musk",
                "kind": "person"
            },
            "score": 0,
            "wilson_95": [
                0,
                0.4898908403969213
            ],
            "n": 4,
            "record": {
                "correct": 0,
                "partly": 0,
                "wrong": 4
            },
            "mean_brier": null
        }
    ]
}

GET/promises

Promise tracker: per organization, promises kept, partly kept, broken and pending, with the kept rate ((kept + ½ partly) ÷ judged).

No parameters.

Example: https://sipoly.si/wp-json/sipoly/v1/promises

[
    {
        "organization": "OpenAI",
        "slug": "openai",
        "kept": 4,
        "partly": 1,
        "broken": 1,
        "pending": 4,
        "other": 1,
        "total": 11,
        "kept_rate": 0.75
    }
]

GET/stats

Site-wide counts and scores. total = resolved + open + unresolvable (too vague to grade) + withdrawn.

No parameters.

Example: https://sipoly.si/wp-json/sipoly/v1/stats

{
    "total": 276,
    "scored": 111,
    "open": 159,
    "unresolvable": 3,
    "withdrawn": 3,
    "correct": 62,
    "partly": 6,
    "wrong": 43,
    "score": 0.588439003436426,
    "hit_rate": 0.598786036036036,
    "ci": [
        0.5057764685681543,
        0.6851867969078451
    ],
    "brier": 0.2913026315789473,
    "brier_n": 19,
    "eligible": true,
    "claimants": 102,
    "resolved": 111,
    "overdue": 5,
    "due_90": 27,
    "promises": {
        "kept": 27,
        "partly": 6,
        "broken": 16,
        "pending": 21,
        "other": 2,
        "total": 72,
        "kept_rate": 0.6122448979591837
    },
    "predictions": 204,
    "pending_review": 0,
    "too_vague_share": 0.010869565217391304
}

GET/coming-due

Up to 50 open claims whose deadline has not passed yet, soonest first (plain list of claim objects).

No parameters.

Example: https://sipoly.si/wp-json/sipoly/v1/coming-due

[
    {
        "id": 83,
        "slug": "zuckerberg-most-code-12-18m",
        "url": "https://sipoly.si/claim/zuckerberg-most-code-12-18m/",
        "headline": "Most code for Meta's AI efforts written by AI within 12 to 18 months",
        "claimant": {
            "name": "Mark Zuckerberg",
            "slug": "mark-zuckerberg",
            "kind": "person",
            "url": "https://sipoly.si/who/mark-zuckerberg/"
        },
        "type": "prediction",
        "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.",
        "context": "Dwarkesh Podcast interview transcript. \"These efforts\" = Meta's Llama/AI research coding agents.",
        "date_said": "2025-04-29",
        "date_precision": "day",
        "source_url": "https://www.dwarkesh.com/p/mark-zuckerberg-2",
        "archive_url": "https://web.archive.org/web/20261004195441/https://www.dwarkesh.com/p/mark-zuckerberg-2",
        "categories": [
            "capabilities",
            "jobs-economy"
        ],
        "stated_probability": null,
        "resolution_criteria": "Our interpretation: by 29 Oct 2026, Meta states (or credible reporting shows) that most code for its AI-model efforts is AI-written, beyond autocomplete.",
        "resolution_criteria_note": "Operationalized by SiPoly editors; our interpretation, not the claimant's wording.",
        "resolve_by": "2026-10-29",
        "status": "open",
        "verdict": "Open",
        "outcome": null,
        "resolved_date": null,
        "evidence": [],
        "grader_note": "",
        "specificity": 2,
        "points": null,
        "brier": null,
        "review_status": "published",
        "last_reviewed": "2026-10-08",
        "share_image": "https://sipoly.si/og/claim-83.png",
        "late": null
    }
]

Form endpoints (POST)

POST https://sipoly.si/wp-json/sipoly/v1/corrections and POST https://sipoly.si/wp-json/sipoly/v1/suggestions receive the corrections and suggest-a-claim forms. They are for people using those forms, not for automated or bulk use: submissions go to a private moderation list, nothing is published automatically, and each network can send 3 per hour per form.

Claim fields

FieldMeaning
headline, quote, contextOur headline; the verbatim quote (property of its author); background.
claimantname, slug, kind (person or organization) and profile URL.
date_said, date_precisionWhen it was said, and how precise that date is.
source_url, archive_urlThe primary source, and an archived copy when we have one.
resolution_criteriaHow we judge it: our interpretation, written before grading (see resolution_criteria_note).
resolve_byThe deadline we grade against.
status, verdictStored status (open, correct, partly, wrong, unresolvable, withdrawn) and its label. Promises use Kept / Partly kept / Broken.
resolved_dateThe date the verdict applies to. For a claim that came true only after its deadline, this is the deadline; the later date is in late.happened_date.
outcome, stated_probabilityFor forecasts with a probability: what was stated (0–1) and whether the event happened (yes/no).
points, brier, specificityPoints this claim contributes (0–1), Brier score for probabilistic forecasts, and specificity (1–3, the weight).
evidence, grader_noteEvidence links and the grader’s note.
review_status, last_reviewedEditorial review state and date.
lateLater developments (null for most claims). came_true_late, happened_date, days_after_deadline, within_double_time, note, evidence, checked. Display only: never changes the verdict, points or leaderboards. See Methodology › Came true late.
share_imageA 1200×630 PNG scorecard for social sharing.

Other machine-readable outputs

  • RSS: resolutions, the 30 most recent verdicts.
  • llms.txt and llms-full.txt, a plain-text summary and full claim list for language models.
  • Embeds: https://sipoly.si/embed/claim/{slug}/ and https://sipoly.si/embed/claimant/{slug}/ (iframes), or <div data-sipoly-claimant="slug"></div> with https://sipoly.si/sipoly-embed.js. Each claim and profile page has copy-paste code.
  • Share images: https://sipoly.si/og/claim-{id}.png.
  • ClaimReview structured data (schema.org) is embedded in each claim page for approved verdicts.

Changes

  • 0.1.4 (October 2026): /claimants is paged and returns the same envelope as /claims, with a new kind filter. resolved_date is always the date the verdict applies to (for claims that came true late, the deadline). Paged lists also send X-WP-TotalPages.
  • 0.1.3 (October 2026): claim objects gained the late key.

Found a problem with the data, or need something the API does not offer? Tell us through the contact form.