Attiq Ahmed Malik · Independent
- HTTP 200
- Candidate-name signal: surname matched in the response body (heuristic only)
Civicord · UK · Browse / Luton South and South Bedfordshire
Luton South and South Bedfordshire · E14001346 · East of England · England · 70,197 electorate
Mixed HTTP results — The rounded HTTP response rate at the audit was between 40% and 65%. Inspect each URL for its result. 2 of 4 sites responding (50%) · 1 unreachable · 1 redirected
The April 2025 scrape recorded 4 candidate websites for Luton South and South Bedfordshire.
On 7 September 2026 those URLs were requested again — 1 no longer resolved, 1 redirected, 2 answered. An HTTP success means the server answered. It does not establish that the campaign page survived.
A homepage fetch was compared with the April site text for 1 of the 4 candidates here. A sentence missing from that fetch is not matched to a replacement.
A separate Wayback comparison scored text overlap for some candidates. It kept the score and an archive URL.
No replacement sentence is matched. A line that only appears on the later homepage is listed on its own. 3 candidates on this seat have no sentence comparison in the snapshot.
Attiq Ahmed Malik · Independent
Mark Anthony Gaius Versallion · Conservative and Unionist Party
Norman MacLean · Reform UK
Rachel Hopkins · Labour Party
This link encodes the seat view · Press ⌘K to jump anywhere. This seat's hex is equal-weight (Automatic Knowledge v5, OGL) · How we checked →
Humans read this page for free. Agents pay per jurisdiction — this exact record is one metered call. Everything below is live; nothing here is mocked.
/api/constituencies/luton-south-and-south-bedfordshire.jsonPlain static JSON, CORS *, no key, 5-minute cache.
https://civicord-aieyq.bazgateway.com/api/constituencies/luton-south-and-south-bedfordshireOne jurisdiction = one charge. Expect 402, not an error.
Same call, as an agent would invoke it over MCP.
getConstituency(slug="luton-south-and-south-bedfordshire")
-> { name: "Luton South and South Bedfordshire", stats: { sites, live, livePct, ... }, candidates: [ ... ] }On-chain p7417.civicord.eth via/api/graph (Studio proxy) — person id, not seat slug.
{
candidate(id: "7417") {
id ensName status url personName textRecordCount
registeredAt registeredAtBlock owner
}
_meta { block { number } hasIndexingErrors }
}Live queries run on demand; a failure is shown honestly, never replaced with a cached response. Verify independently: ENS ·resolver ·Subgraph Studio ·/api/graph ·openapi.yaml ·source