UK Parliament Question SLA Watchdog avatar

UK Parliament Question SLA Watchdog

Pricing

from $0.01 / 1,000 results

Go to Apify Store
UK Parliament Question SLA Watchdog

UK Parliament Question SLA Watchdog

Flags overdue and holding-only answers to UK parliamentary written questions by topic or department, plus new questions since your last run, via the official Parliament API.

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

Halil Erdogan

Halil Erdogan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Every UK government department is expected to answer a written parliamentary question by its own published deadline (the "date for answer" — ordinary questions get a working week, named-day questions get the specific day asked for). Nobody publishes a simple answer to "is anyone actually late right now, on my topic". This Actor is that answer.

Give it one or more topics — a search term (e.g. "asylum backlog"), an answering department (e.g. "Home Office"), or both — and it checks the official UK Parliament Written Questions register (Open Parliament Licence, public, no key required) and tells you, per topic:

  • Overdue — no answer at all, and today is already past the due date.
  • Holding answer only — the department recorded a holding reply instead of a substantive one (the API's own flag), so the question looks "answered" in a raw feed but is not actually resolved.
  • Answered late — a real answer was eventually given, after the deadline.
  • New since your last run — questions that were not there the last time you ran this Actor on the same topic (per-topic memory, kept between runs).

Why this and not a generic Hansard/written-questions scraper

Every existing written-question Actor we found on Apify Store (checked 27 Sep 2026) returns the raw question/answer feed and stops there — none of them compute a deadline, flag lateness, or distinguish a holding answer from a real one. This Actor's only job is that judgement call: it fetches from the same official API everyone else uses, but every row it charges for is one that actually needs a human's attention, not a dump of everything.

Data sources (official, public, no key)

  • questions-statements-api.parliament.uk — the UK Parliament Written Questions and Answers register.
  • members-api.parliament.uk — resolves the asking MP's name for each flagged question, and resolves a department name to the ID the Questions API filters on (api/Reference/AnsweringBodies; the Questions API itself has no name-based department filter).

Both are official UK Parliament open data published under the Open Parliament Licence. No scraping, no login, no paywall, no rate-limit key.

Input

{
"topics": [
{
"label": "NHS waiting lists",
"searchTerm": "waiting list",
"answeringBody": "Department of Health and Social Care",
"house": "Commons"
},
{
"label": "Home Office asylum backlog",
"searchTerm": "asylum backlog"
}
],
"questionsPerTopic": 60,
"maxConcurrency": 3
}

Each topic needs at least a searchTerm or an answeringBody. house is optional ("Commons", "Lords", or omitted for both). answeringBody is matched against the official list of government departments (members-api.parliament.uk/api/Reference/AnsweringBodies) — use the plain gov.uk department name, e.g. "Home Office" or

"Department of Health and Social Care"
. A name that does not match anything comes back as a clear unknown_department error rather than silently searching everything. searchTerm alone is a loose full-text search over question content, so for a focused topic combine it with answeringBody.

Output

One summary row per topic (questions checked, overdue count, holding-answer count, late-answer count, new-since-last-run count) plus one detail row per question that is flagged (overdue / holding-only / answered late) or newly seen since your previous run, with the question text, department, asking member, due date, and a direct link to the question on parliament.uk.

Pricing

Pay per event question-flagged — charged once for every question row actually pushed to the dataset. A topic with nothing overdue and nothing new costs nothing beyond the run itself; you only pay for what needed your attention.

Honest scope / what this does not do

  • It watches the questions your topics match on this run's most recent batch (questionsPerTopic, default 60, newest-first) — a topic with more activity than that in one sitting week may miss older items further back; raise questionsPerTopic for very high-volume departments.
  • The first run on a brand-new topic is a baseline: it reports overdue / holding / late counts immediately, but "new since last run" is only meaningful from the second run onward.
  • It does not interpret why an answer is late or holding — only the official API's own dates and flags, verbatim.