Skip to content

Swedish Council Documents Scraper

Try for free

Collect council and committee documents from Swedish municipalities' public meeting portals (Stockholm, Malmö, Huddinge, Gävle and other MeetingPlus portals): minutes, meeting notices and agendas, and every agenda item's documents, with committee, meeting date, item, links and the PDF's full text. No login needed.

🏛️ Swedish Council Documents Scraper

Collect the documents Swedish municipalities publish for their council and committee meetings: minutes (protokoll), meeting notices and agendas (kallelse), and every agenda item's documents such as reports, proposals, motions and decisions. Each row has the committee, meeting date, time and place, the agenda item with its description, the file link and the PDF's full text. Works with the public meeting portals that Stockholm, Malmö, Huddinge and many other municipalities run. No login needed. $3.40 per 1,000 documents, plus $5.10 per 1,000 documents with full text.

✨ Why use Swedish Council Documents Scraper?

  • 📑 Every document of a meeting — minutes, notice and agenda, and the attachments of each agenda item, one row each.
  • 🧾 Full text from the PDFs — the text and page count of every PDF, ready for search, analysis or AI pipelines.
  • 🧭 Context on every row — committee, meeting date, time and place, agenda item number, title and description.
  • 🏙️ One actor, many municipalities — add several portals in one run: Stockholm, Malmö, Huddinge and other municipalities with the same kind of portal.
  • ⏱️ Kept current — a relative date such as 7 days turns a schedule into a feed of new meetings and documents, including notices of upcoming meetings.
  • ✅ Straight from the source — public documents exactly as the municipality publishes them.

🎯 Use cases

  • 🤖 Policy and civic AI products — a searchable corpus of local decisions with full text, refreshed on a schedule.
  • 🏗️ Planning and construction — follow detailed development plans (detaljplaner), building and land decisions.
  • 📰 Local journalism — see what is on the agenda before the meeting and what was decided after it.
  • 🏢 Public affairs and sales — track procurement, budget and service decisions of the municipalities you work with.

🚀 How to use

  1. Add the municipality's meeting portal, for example https://meetingspublic.stockholm.se.
  2. Optionally name committees (e.g. Kommunfullmäktige, Kommunstyrelsen) and set Meetings from (e.g. 3 months).
  3. Choose the document types and whether to add the full text, then click Start.
  4. Open the Documents view, or export the data as JSON, CSV or Excel.

To keep a collection current, create a schedule (for example daily) with Meetings from set to 7 days.

📥 Input

FieldWhat it does
portalUrlsMeeting portals (or a committee or meeting page of one)
committeesCommittee names as on the portal; a part of a name picks all matching committees
maxItemsDocuments per portal, newest meetings first (default 20, 0 = all)
dateFrom / dateToMeeting date range: YYYY-MM-DD or relative (7 days, 3 months)
documentTypesprotocol minutes, agenda notice and agenda, attachment agenda item documents
searchTermsKeep documents that mention one of these words
includeFullTextAdd the PDF's text and page count (default on)
includeInactiveCommitteesAlso read former committees and boards
{
  "portalUrls": ["https://meetingspublic.stockholm.se"],
  "committees": ["Kommunfullmäktige", "Kommunstyrelsen"],
  "dateFrom": "3 months",
  "maxItems": 100
}

📤 Output

FieldMeaning
portalThe portal's host, e.g. meetingspublic.stockholm.se
committee, committeeSlug, committeeUrlCommittee or board
meetingDate, meetingTime, meetingLocation, meetingUrl, meetingIdThe meeting
documentType, sectionprotocol, agenda or attachment; the tab it was listed in
itemNumber, itemTitle, itemDescriptionThe agenda item a document belongs to
title, fileName, fileType, fileSizeThe document
url, downloadUrlOpen and download links
text, textPages, textLength, textCutFull text of the PDF
{
  "id": "5b767e005a19437a",
  "portal": "meetingspublic.stockholm.se",
  "committee": "Kommunfullmäktige",
  "committeeSlug": "kommunfullmaktige",
  "meetingId": "311969",
  "meetingDate": "2026-10-19",
  "meetingTime": "16:00-17:08",
  "meetingLocation": "Rådssalen",
  "meetingUrl": "https://meetingspublic.stockholm.se/committees/kommunfullmaktige/mote-2026-10-19",
  "documentType": "attachment",
  "section": "agenda",
  "itemNumber": "15",
  "itemTitle": "Arvodering av förtroendevalda",
  "title": "R1 Utl Arvodering av förtroendevalda",
  "fileName": "R1 Utl Arvodering av förtroendevalda.pdf",
  "fileType": "pdf",
  "fileSize": "34kb",
  "url": "https://meetingspublic.stockholm.se/welcome-sv/namnder-styrelser/kommunfullmaktige/mote-2026-10-19/agenda/r1-utl-arvodering-av-fortroendevaldapdf?downloadMode=open",
  "textPages": 2,
  "text": "..."
}

💰 Pricing

You pay per document saved, and per document saved with its full text; platform usage (compute, proxies) is included.

EventFreeStarterScaleBusiness
Document$3.40 / 1,000$3.40 / 1,000$3.40 / 1,000$3.40 / 1,000
Full text add-on (per document with text)$5.10 / 1,000$5.10 / 1,000$5.10 / 1,000$5.10 / 1,000

Examples: 100 documents with full text cost $0.85 on every plan. 1,000 documents with links and metadata only cost $3.40.

❓ FAQ

Is it legal? The actor reads documents the municipalities publish on their public portals for everyone to read. Some documents contain names of people; handle them according to the GDPR.

Do I need a login? No. Only public documents are read; documents a portal shows only to signed-in members are not included.

Which municipalities work? Municipalities whose meeting portal has the "Nämnder & Styrelser" committee list and meeting pages with "Kallelse" and "Protokoll" tabs, such as Stockholm, Malmö and Huddinge. Paste the portal address; the actor reads its committees and meetings.

How far back can I go? As far as the portal lists meetings (Stockholm's portal goes back to 2018). Leave Meetings from empty to read everything.

Why is a text empty? Scanned documents without a text layer and non-PDF files (Word, Excel) have no text; their link is always included.

Can I schedule it or use the API? Yes. Schedule it with a relative Meetings from, or start runs through the Scrape.ly API and read the dataset.

⚠️ Limits

  • Only municipalities with this kind of meeting portal are covered; sites that publish their minutes only as plain web pages are not read.
  • Text comes from the PDF's text layer; scanned pages are not read with OCR.
  • Files over 80 MB are listed without their text, and text over 3 million characters per document is cut (textCut is true).

Related actors

//From the blog\\

Latest articles

All articles

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes.

No credit card. No setup calls.