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
21 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.