Polity Atlas
Build · Open API v1

API & open data

Every entity, claim, source and experiment is available as structured data. Reading needs no key; generous rate limits apply.

Base URLhttps://polityatlas.org/api/v1
LicenceContent CC BY-SA 4.0 · Data ODbL

Authentication

Reading is anonymous. Writing uses the Django session cookie: fetch GET /auth/csrf once, then send the token as X-CSRFToken on POST, PATCH and DELETE with credentials included.

Pagination & errors

Lists take page and page_size and return {"items", "count", "page", "page_size"}. Errors are always {"detail": "…"} with a meaningful status (400, 401, 403, 404, 409, 422, 429).

Localisation

Add ?lang=ru (or send Accept-Language) for Russian fields; missing translations fall back to English.

GET

/entities/{slug}

Returns an entity with its relations grouped by type, its claims with evidence and sources, and assessments.

curl "https://polityatlas.org/api/v1/entities/polycentric-law?lang=en"
Response · 200
{
  "id": 11,
  "slug": "polycentric-law",
  "kind": "concept",
  "title": "Polycentric law",
  "summary": "Several coexisting centres of rule-making and dispute resolution.",
  "review_state": "published",
  "last_verified_at": "2026-10-02T00:00:00Z",
  "relations": [
    {
      "type": "implements",
      "direction": "incoming",
      "label": "implemented by",
      "items": [{ "entity": { "slug": "arbitration", "kind": "mechanism" } }]
    }
  ],
  "claims": [{
    "id": 318,
    "text": "…",
    "epistemic_status": "disputed",
    "verification_status": "verified",
    "evidence": [{ "stance": "supports", "source": { "id": 41 } }]
  }]
}

Knowledge

GET/entitiesFilters: kind, theme, tag, q
GET/entities/{slug}Entity with relations, claims, assessments
GET/entities/{slug}/graphEgo network, depth 1–2
GET/graphWhole published graph; kinds, theme
GET/claims/{id}Claim, evidence, sources, open disputes
GET/sourcesFilters: type, q, primary
GET/glossaryTerms; letter, q
GET/searchq, kind, mode=keyword|semantic
POST/askAnswer built only from published claims

Living Atlas

GET/experimentsFilters incl. bbox, autonomy, uses_ai
GET/experiments/geojsonGeoJSON FeatureCollection
GET/experiments/networkNetwork polities and shared mechanisms
GET/experiments/facetsCounts per facet value

Explorer & Observatory

GET/criteriaAssessment criteria
POST/explorer/compareWeighted comparison over known criteria
GET/observatorykind: signal, news, research, briefing
GET/scenariosDrivers, indicators, likelihood in words

Polity Lab

GET/lab/optionsConfiguration dimensions and stress scenarios
POST/lab/projects/{id}/analyzeRule-based consistency analysis
GET/repository/componentsVersioned institution components
GET/export/entities.jsonlBulk export, JSON Lines

Ontology

The vocabulary every record uses. Editors can fetch the full schema, including attribute definitions, from /cp/ontology.

Entity kindsConceptconceptMechanismmechanismTheorytheoryThinkerthinkerExperimentexperimentInstitution typeinstitution_typeIdeologyideologyorganisationorganisation
Relation typesimplementsimplementstested intested_inproposed byproposed_byinfluencedinfluencedcriticisescriticisesalternativealternative_topart ofpart_ofuses mechanismuses_mechanismrelated torelated_to
Epistemic statusEstablishedestablishedTheorytheoryDisputeddisputedHypothesishypothesisForecastforecast
Verification statusUnverifiedunverifiedAI-draftedai_draftedIn reviewin_reviewVerifiedverifiedRejectedrejected
Bulk exportThe full graph as JSON Lines, refreshed nightly.
GET /export/entities.jsonl