Civicord · UK · Browse / Halesowen

Halesowen · E14001261 · West Midlands · England · 69,907 electorate

Halesowen

Mostly responding — The rounded HTTP response rate at the audit was at least 66%. This does not establish that campaign content survived. 2 of 2 sites responding (100%) · 0 unreachable · 0 redirected

What happened here

  1. What was recorded

    The April 2025 scrape recorded 2 candidate websites for Halesowen.

    • Alex Ballinger — Labour Party — https://alexballinger.org.uk
    • James Morris — Conservative and Unionist Party — https://www.jamesmorris.co.uk
  2. What the audit found

    On 7 September 2026 those URLs were requested again — 2 answered. An HTTP success means the server answered. It does not establish that the campaign page survived.

    • Alex Ballinger — https://alexballinger.org.uk — Answered (HTTP 200).
    • James Morris — https://www.jamesmorris.co.uk — Answered (HTTP 200).
  3. What happened to the words

    A homepage fetch was compared with the April site text for 2 of the 2 candidates here. A sentence missing from that fetch is not matched to a replacement.

    • Alex Ballinger — 36 sentences from the April text were not found on the homepage fetch of https://alexballinger.org.uk. Example from the April text: “We may share your personal data with other organisations in the course of dealing with your casework or query e.g. local authorities, public bodies, schools,…”
    • James Morris — 302 sentences from the April text were not found on the homepage fetch of https://www.jamesmorris.co.uk. Example from the April text: ““I want to thank everyone for making Andy and I welcome, and I wish all the students well in whatever belt they are working towards.” Garry Hickman, Founder…”

No replacement sentence is matched. A line that only appears on the later homepage is listed on its own.

Halesowen — 2 of 2 sites responding (100%) · 0 unreachable · 0 redirectedHalftone: more / larger paper dots = lower response rate.

Candidates in this seat

Open filtered ledger — 2 sites ↗See what you followBrowse all 2,375 ↗UK overview ←

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 →

Agent viewInspect the data and verify the record$0.002 / seat

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.

1 Free, same-origin

/api/constituencies/halesowen.json

Plain static JSON, CORS *, no key, 5-minute cache.

2 Metered via x402

https://civicord-aieyq.bazgateway.com/api/constituencies/halesowen

One jurisdiction = one charge. Expect 402, not an error.

3 MCP tool

Same call, as an agent would invoke it over MCP.

getConstituency(slug="halesowen")
-> { name: "Halesowen", stats: { sites, live, livePct, ... }, candidates: [ ... ] }

4 The Graph (live)

On-chain p115544.civicord.eth via/api/graph (Studio proxy) — person id, not seat slug.

{
  candidate(id: "115544") {
    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

↑↓ move · ↵ open · Esc close