Independent NRFA football data infrastructure

Football data from the Northern Region, ready to use.

Chizumulu API turns public NRFA updates into data developers can actually build with.

No signup or API key required.

The data already exists. The API didn’t.

NRFA publishes plenty of football information. It just isn’t shaped for software.

Human-readable. Machine-hostile.

Scores may arrive as posts, fixtures as images, and several matches may be bundled into one update.

WhatsAppFinal score in a text post
ImageFixture list embedded in artwork
Mixed postResults, news and announcements together
Public NRFA updatesMessy, human-first source material
Chizumulu APIPreserve the observation. Extract only what is supported.
Your appStructured data you can actually build with

One source. Many shapes.

Real football updates are messy. Not every post means the same thing.

Observe first

Keep the original post intact.

Extract carefully

Parse only what the source supports.

Unknown stays unknown

Missing details stay missing.

one goal
ten fixtures
three final results
a substitution
a player call-up
a league announcement
no match data at all
several things at once

Raw when you want it. Structured when you don’t.

Use raw when you need the source. Use structured data when your app needs it now.

GET /v1/structured?limit=1 · fields trimmed
$ curl https://api.chizumulu.net/v1/structured?limit=1

# no auth header
# no signup
# no API key
{
  "items": [{
    "rawUpdateId": 5,
    "processing": {
      "state": "done",
      "method": "ai",
      "postType": "result"
    },
    "structured": {
      "schemaVersion": 2,
      "postType": "result",
      "matches": [{
        "homeTeam": "Mafu Stars FC",
        "awayTeam": "Luviri FC",
        "homeScore": 3,
        "awayScore": 1,
        "status": "full_time",
        "minuteText": null,
        "events": [{ "type": "full_time" }]
      }]
    }
  }]
}

Built around the source, not around a perfect schema.

Formats change. Posts get edited. Details move between captions and images. The API is built for that.

What the source may do

  • Postsedited later
  • Formatschange without notice
  • Important detailslive in images
  • Dates / namescan be inconsistent
  • One postcan contain many matches

What Chizumulu API does

The original observation stays intact. Structured data is derived from it.

  • Original observationpreserved
  • Structured fieldsderived
  • Unsupported detailsleft unknown
  • Schemaadapts to reality
  • Priorityfidelity over neatness

Know when the source is quiet, and when we’re actually down.

A quiet feed and a broken collector are different things. We track them separately.

No new football updates

The collector is healthy. Nothing new has been published.

System operational

The collector is unavailable

Collection or processing is currently failing.

Collector issue
View status

Built for things nobody has built yet.

Lower-league football should be programmable too.

Live score page

Turn match updates into a clean live view.

Match archive

Build searchable history from published updates.

Discord bot

Push goals, results and announcements to a community.

Standings tracker

Build tables, form and league context.

Football map

Connect clubs, grounds, fixtures and geography.

Something else

Research, visualizations, or something new.

Start building with Northern Region football data.

No signup or API key. Make your first request immediately.