Grassroots Football League Tracker (FA Full-Time) avatar

Grassroots Football League Tracker (FA Full-Time)

Pricing

from $35.00 / 1,000 results

Go to Apify Store
Grassroots Football League Tracker (FA Full-Time)

Grassroots Football League Tracker (FA Full-Time)

Scrapes FA Full-Time grassroots football leagues effortlessly. Automatically extracts live league tables, match results, and upcoming fixtures into structured JSON dataset. Ideal for football data analytics, tracking local clubs, and automated sports reporting. Built with Playwright.

Pricing

from $35.00 / 1,000 results

Rating

0.0

(0)

Developer

Parviz Abbasov

Parviz Abbasov

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

FA Full-Time (fulltime.thefa.com) is the league-management system behind 800+ English grassroots and youth football leagues — but it has no public API, and the two previous Apify Actors that scraped it are both now marked deprecated. This one tracks league tables, results, and fixtures directly from a league's own FA Full-Time page.

Built for club webmasters who want to auto-populate their own site, local league newsletters, parents/players who want a results feed without checking a clunky admin system, and anyone building a grassroots-football app or bot.

How it works

Give it the FA Full-Time page URL for your league (find it by visiting fulltime.thefa.com, searching for your league, and copying the URL). The Actor fetches that page and extracts:

  • League table — position, played, won, drawn, lost, goal difference, points (and goals for/against, on leagues that show them).
  • Recent results — date, teams, score.
  • Upcoming fixtures — date, teams (optional).

Turn on monitoring mode to schedule this weekly and get only the results that are new since your last run — a genuine "new result posted" feed rather than re-downloading the whole table every time.

Why text-pattern matching, not fixed CSS selectors

FA Full-Time is an older system, and its exact page markup has varied across different leagues and over the years. Rather than hard-code one specific set of CSS class names (which breaks the moment a page differs even slightly), this Actor identifies the league table by its column headers ("Pos", "Team", "Pts") and identifies results/fixtures by their content pattern (a date, plus either a score or "vs") wherever they appear on the page. This is more resilient to the inconsistencies across different league templates than a brittle selector would be — though see Limitations below for what that trade-off means in practice.

Input

FieldTypeDefaultDescription
leaguesarray1 example leagueEach entry: name, url (the FA Full-Time page for that league).
onlyNewResultsSinceLastRunbooleanfalseMonitoring mode: only return (and charge for) new results.
includeFixturesbooleantrueAlso extract upcoming fixtures.
requestTimeoutMsinteger20000Page fetch timeout.

Output

{
"leagueName": "South London Grassroots Football League - Premiership",
"sourceUrl": "https://fulltime.thefa.com/index.html?league=934030649",
"table": [
{ "position": 1, "team": "Croydon Eagles", "played": 8, "won": 6, "drawn": 2, "lost": 0, "goalsFor": null, "goalsAgainst": null, "goalDifference": 31, "points": 20 }
],
"results": [
{ "date": "21/07/23", "homeTeam": "Peckham Dragons", "homeScore": 0, "awayTeam": "Warriors", "awayScore": 8 }
],
"fixtures": [
{ "date": "01/07/23", "homeTeam": "Brixton Pumas", "awayTeam": "Peckham Dragons" }
],
"scrapedAt": "2026-09-18T10:00:00.000Z"
}

goalsFor/goalsAgainst are null on leagues whose table doesn't display them — this varies by league, not by a setting.

Pricing

Pay-per-event:

  • A small flat fee per run.
  • Per league checked — reflects that this does real HTML parsing against a legacy site, not a simple API call.
  • Per new result found — only charged in monitoring mode, when a result wasn't seen on a previous run. This is the ongoing "results feed" value.

Limitations

  • FA Full-Time only. Doesn't cover other grassroots league platforms, or professional/semi-professional leagues (see any of the many Flashscore/SofaScore-style Actors on the Store for those).
  • Results/fixtures parsing is best-effort. The league table is well-structured and reliably parsed. The results/fixtures list format has shown more variation across different league pages historically — if a specific league's results don't come through, please report the league URL so the pattern can be extended.
  • No historical seasons or cup competitions in this version — this tracks whatever the given URL currently shows.
  • You provide the URL. This Actor doesn't search FA Full-Time's league directory for you; you'll need to find your league's URL once, the same way you'd bookmark it in a browser.

API usage example

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("YOUR_USERNAME/grassroots-football-tracker").call(run_input={
"leagues": [{"name": "My League", "url": "https://fulltime.thefa.com/index.html?league=123456"}],
"onlyNewResultsSinceLastRun": True,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["leagueName"], "-", len(item["results"]), "new result(s)")