Decidim Participation Extractor
Pricing
from $0.35 / 1,000 records
Decidim Participation Extractor
Point at ANY Decidim instance and extract participatory-democracy data over its public GraphQL API. Modes: participatory processes, assemblies, proposals, results, meetings. One flat row per object, translated-text fallback, Relay pagination.
Pricing
from $0.35 / 1,000 records
Rating
0.0
(0)
Developer
Datamule
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Point at any Decidim instance and extract its participatory‑democracy data over the public, read‑only GraphQL API. Decidim is the open‑source platform behind ~400 government deployments — Barcelona, Helsinki, the Catalan government, the European Commission, dozens of French métropoles and more. Every instance speaks the same GraphQL contract, so this one actor reads them all: give it an instance root, pick a mode, get back clean structured rows.
What you get
One flat JSON row per participatory object. Five modes:
| Mode | What it returns | Level |
|---|---|---|
participatoryProcesses | Participatory processes (budgets, plans, consultations) | Space |
assemblies | Assemblies / councils | Space |
proposals | Citizen proposals (with state + vote count) | Component |
results | Accountability results (with progress %) | Component |
meetings | Meetings (with times + address) | Component |
Space modes emit one row per space. Component modes discover every matching component across all participatory processes and paginate each one, emitting one row per leaf object.
Input
{"decidimUrl": "https://www.decidim.barcelona","mode": "participatoryProcesses","locale": "en","maxRecords": 2000}
| Field | Type | Default | Notes |
|---|---|---|---|
decidimUrl | string (required) | – | Instance root or full /api URL. |
mode | enum | participatoryProcesses | One of the five modes above. |
withComponents | boolean | false | Space modes: expand each space's component list into the row. |
locale | string | en | Preferred locale for translated text (see below). |
maxRecords | integer | 2000 | Stop after this many rows. |
pageSize | integer | 50 | Relay page size for component modes (Decidim caps ~100). |
Key behaviours (things the Decidim API decides)
- Translated text with fallback.
title/subtitle/bodyare translated objects, not strings. On a Catalan or Finnish instanceenis oftennull, so the actor falls back to the first available translation and tells you which locale it used intitleLocale. Rows are keyed on the always‑presentid. - Components are reached through inline fragments.
proposals/results/meetingsare components of a participatory process, not root fields — the actor discovers them and walks each component's Relay cursor connection. - Not every host is Decidim. The actor first probes
{ decidim { version } }; a host that is unreachable, Cloudflare‑gated (403 / HTML), or a different platform (e.g. CONSUL) fails fast and never emits a fabricated empty result.
Output (example — a proposal)
{"decidimUrl": "https://www.decidim.barcelona","mode": "proposals","id": "3","reference": "BCN-PROP-2016-01-3","state": "acceptada","voteCount": 30,"title": "Sensibilitzar sobre la diversitat funcional","titleLocale": "ca","createdAt": "2016-01-22T13:06:40+01:00","processId": "1","processSlug": "pam","componentId": "1"}
Pricing
Pay‑per‑event: you are billed per record (one participatory process, proposal, result, assembly, or meeting emitted).
Use cases
Civic‑transparency dashboards · participatory‑budgeting analytics · policy research · govtech monitoring · journalism on public participation · comparative studies across the ~400‑instance Decidim ecosystem.