Discover/Fantasy Football Hub API
live

Fantasy Football Hub APIfantasyfootballhub.co.uk ↗

Access FPL captain picks, transfer advice, team reveals, and fixture difficulty ratings from Fantasy Football Hub via 4 structured API endpoints.

Endpoint health
verified 29m ago
get_advice_article
get_gameweek_context
list_advice_articles
get_fixture_difficulty
4/4 passing latest checkself-healing
Endpoints
4
Updated
1h ago

What is the Fantasy Football Hub API?

The Fantasy Football Hub API gives developers structured access to Fantasy Premier League content and data across 4 endpoints, covering editorial advice articles, gameweek context, and per-team fixture difficulty ratings. The get_fixture_difficulty endpoint returns attack, defence, and overall difficulty scores (1–10) for every Premier League team across a configurable gameweek range, while list_advice_articles lets you paginate and search content streams including captain picks, differentials, and expert team reveals.

This call costs1 credit / call— charged only on success
Try it
Number of articles per page, clamped to 50.
Which content stream to list.
Opaque continuation value from a previous response's next_cursor. Omitted = first page.
Free-text search applied within the chosen stream (e.g. 'buy hold sell' or a player name). Omitted = no text filter.
→ api.parse.bot/scraper/ce2c1e0b-c882-4746-8694-a4eefc0dcf02/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/ce2c1e0b-c882-4746-8694-a4eefc0dcf02/list_advice_articles?topic=captain_picks' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace fantasyfootballhub-co-uk-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Fantasy Football Hub SDK — bounded, re-runnable."""
from parse_apis.fantasyfootballhub_co_uk_api import (
    FantasyFootballHub, Topic, InputNotFound,
)

client = FantasyFootballHub()

# Check which gameweek we're in and when the next deadline falls.
ctx = client.gameweek_context.get()
print(f"Season {ctx.season} — GW{ctx.current_gameweek.number}",
      "finished" if ctx.current_gameweek.is_finished else "live")
print(f"Next deadline: GW{ctx.next_gameweek.number} @ {ctx.next_gameweek.deadline_at}")

# Browse the latest captain-pick articles.
for summary in client.article_summaries.list(topic=Topic.CAPTAIN_PICKS, limit=3):
    print(f"  [{summary.primary_category}] {summary.title}")

# Drill into the newest captain-pick article for full sections and player mentions.
pick = client.article_summaries.list(topic=Topic.CAPTAIN_PICKS, limit=1).first()
if pick is not None:
    article = pick.details()
    for section in (article.sections or []):
        if section.heading:
            print(f"  ## {section.heading}")
        for para in section.paragraphs[:2]:
            print(f"    {para[:120]}")
    for pm in article.players_mentioned:
        print(f"  Player: {pm.name} ({pm.price})")
    if article.members_only_continuation:
        print("  (full article requires membership)")

# Point-lookup an article by slug derived from the listing above.
if pick is not None:
    try:
        full = client.articles.get(slug=pick.slug)
        print(f"Fetched article: {full.title} by {full.author}")
    except InputNotFound:
        print("Article no longer available")

# Fixture difficulty for the next five gameweeks.
fd = client.fixture_difficulty.get()
print(f"Fixtures GW{fd.gameweek_start}–GW{fd.gameweek_end}:")
for team in fd.teams[:3]:
    easiest = min(team.fixtures, key=lambda f: f.difficulty_overall)
    print(f"  {team.team_short}: easiest GW{easiest.gameweek} vs {easiest.opponent_short}"
          f" (difficulty {easiest.difficulty_overall})")

print("exercised: gameweek_context.get / article_summaries.list /"
      " details / articles.get / fixture_difficulty.get")
All endpoints · 4 totalmissing one? ·

Lists advice articles from one of Fantasy Football Hub's FPL content streams, newest first: weekly captain picks, free FPL tips (the weekly 'Buy, hold, sell' transfer articles, best differentials and the gameweek Ultimate Guide), gameweek tips, expert team reveals, Ultimate Guides, differentials and double-gameweek guides. Each row is one article summary with its slug, which get_advice_article consumes unchanged. An optional free-text search narrows the stream by title/body match. Pagination is cursor based: one call returns up to `limit` rows (max 50) and `next_cursor`; pass it back as `cursor` to continue, with `has_more` false at the end. An empty `articles` array is a valid result for a search with no matches.

Input
ParamTypeDescription
limitintegerNumber of articles per page, clamped to 50.
topicstringWhich content stream to list.
cursorstringOpaque continuation value from a previous response's next_cursor. Omitted = first page.
searchstringFree-text search applied within the chosen stream (e.g. 'buy hold sell' or a player name). Omitted = no text filter.
Response
{
  "type": "object",
  "fields": {
    "topic": "stream that was listed",
    "search": "search text applied, or null",
    "articles": "array of article summaries: id (integer), slug (feed into get_advice_article), title, published_at/modified_at (site-local ISO datetimes), excerpt, author, primary_category, categories (slugs; 'members' marks member-gated articles), reading_time_minutes, image_url, url",
    "has_more": "true when another page exists",
    "next_cursor": "cursor for the next page, null when has_more is false"
  },
  "sample": {
    "data": {
      "topic": "captain_picks",
      "search": null,
      "articles": [
        {
          "id": 83863,
          "url": "https://www.fantasyfootballhub.co.uk/fpl-captain-gameweek-5-article-26-27",
          "slug": "fpl-captain-gameweek-5-article-26-27",
          "title": "Best FPL captain for Gameweek 5: Can anyone rival Haaland?",
          "author": "Chris_Tan",
          "excerpt": "Fantasy Football Hub's resident Fantasy Premier League (FPL) captaincy expert Chris Tan takes a close look at the best options for Gameweek 5. [...]",
          "image_url": "https://cms.fantasyfootballhub.co.uk/wp-content/uploads/2026/09/Haaland-GW5-1024x683.jpg",
          "categories": [
            "latest",
            "fpl",
            "featured",
            "fpl-captain",
            "fpl-members",
            "members"
          ],
          "modified_at": "2026-09-16T14:13:44",
          "published_at": "2026-09-17T11:00:20",
          "primary_category": "FPL Captain",
          "reading_time_minutes": 7
        }
      ],
      "has_more": true,
      "next_cursor": "YXJyYXljb25uZWN0aW9uOjgxODg4"
    },
    "status": "success"
  }
}

About the Fantasy Football Hub API

Advice Articles

list_advice_articles returns paginated article summaries from Fantasy Football Hub's main FPL content streams: weekly captain picks, 'Buy, hold, sell' transfer guides, differential picks, gameweek Ultimate Guides, and expert team reveals. The topic parameter filters to a specific stream; the search parameter applies free-text filtering within that stream — useful for finding articles mentioning a specific player. Each summary includes an id, slug, title, published_at, and modified_at. Pass the slug to get_advice_article to retrieve the full article body, broken into sections (each with a heading, level, paragraphs, and bullets), a list of players named with a price in the public text, the author display name, and the featured image URL. Articles behind a membership paywall surface only what is publicly readable.

Gameweek Context

get_gameweek_context takes no inputs and returns a snapshot of the current FPL season: season, season_status, the current_gameweek and next_gameweek objects (each with number, isFinished, deadlineAt, and lastFixtureKickoffAt in UTC), the player_price_range in £m, and an is_fpl_updating flag that signals when FPL data is mid-refresh. This is a low-cost call to orient any subsequent requests to the right gameweek.

Fixture Difficulty

get_fixture_difficulty returns Fantasy Football Hub's fixture ticker for all Premier League teams. Specify gameweek_start and gameweek_end (each 1–38) to control the range; omitting both defaults to the next five gameweeks. The teams array contains one entry per club, each with a fixtures array. Every fixture includes kickoff_at (UTC), venue (home or away), opponent, opponent_short, and three difficulty scores — difficulty_attack, difficulty_defence, and an overall difficulty — all rated 1 (easiest) to 10 (hardest). These ratings are Fantasy Football Hub's own assessments, not FPL's built-in difficulty figures.

Reliability & maintenanceVerified

The Fantasy Football Hub API is a managed, monitored endpoint for fantasyfootballhub.co.uk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when fantasyfootballhub.co.uk changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official fantasyfootballhub.co.uk API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
29m ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a gameweek dashboard that surfaces captain pick articles filtered by the current gameweek deadline from get_gameweek_context
  • Aggregate fixture difficulty scores across 5 gameweeks to rank the best team defenders and attackers to target for transfers
  • Search 'buy hold sell' articles by player name using list_advice_articles to surface recent transfer advice for a specific asset
  • Pull expert team reveals before each deadline to analyse which FPL assets high-ranking managers are holding
  • Display colour-coded fixture ticker widgets for all 20 Premier League teams using attack and defence difficulty scores
  • Track how article titles and player mentions change week-over-week using modified_at timestamps from get_advice_article
  • Alert users when is_fpl_updating is false, indicating FPL data has refreshed and transfer windows are stable
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Fantasy Football Hub have an official developer API?+
No. Fantasy Football Hub does not publish a public developer API or documented data feed. This Parse API is the structured way to access their FPL content and fixture data programmatically.
What does `get_fixture_difficulty` actually rate, and how is it different from FPL's built-in difficulty?+
get_fixture_difficulty returns Fantasy Football Hub's own attack, defence, and overall difficulty ratings on a 1–10 scale, where 1 is the easiest fixture. These are distinct from the 1–5 difficulty numbers shown in the official FPL product. Each fixture also includes the kickoff time in UTC and venue (home/away), so you can filter by home fixtures for a fairer difficulty comparison.
Does `get_advice_article` return the full article text including members-only sections?+
It returns the publicly readable body only. Content behind Fantasy Football Hub's membership paywall is not exposed. The sections array and players_mentioned field reflect only what is available without a subscription.
Can I retrieve historical player price data or FPL squad statistics?+
Not currently. The API covers fixture difficulty ratings, gameweek deadlines, the current player price range (as a min/max from get_gameweek_context), and editorial article content. Individual player statistics, ownership percentages, and historical price changes are not included. You can fork this API on Parse and revise it to add an endpoint targeting that data.
How does pagination work in `list_advice_articles`?+
Each response includes a has_more boolean and a next_cursor string. Pass the next_cursor value as the cursor input on your next request to fetch the following page. When has_more is false, next_cursor is null and you have reached the end of the stream. The limit parameter controls page size up to a maximum of 50 articles.
Page content last updated . Spec covers 4 endpoints from fantasyfootballhub.co.uk.
Related APIs in SportsSee all →
draftsharks.com API
Get comprehensive fantasy football insights by accessing redraft and dynasty rankings, player projections, injury histories, team depth charts, and strength-of-schedule analysis. Search player profiles and stay updated with the latest news articles to optimize your draft strategy and roster decisions.
sofascore.com API
Access head-to-head statistics and streaks for sporting events across a wide range of sports. Retrieve daily scheduled events, detailed H2H metrics (win rates, unbeaten records, draw rates, manager duels), and event fun facts. Filter and rank H2H streak metrics by configurable percentage thresholds to identify historically consistent patterns between any two teams.
eadriaticleague2.leaguerepublic.com API
Access detailed match results from the eAdriaticLeague FIFA esports league, including full-time and half-time scores broken down by team and player performance for any available round. Browse through all available competition rounds and retrieve complete fixture data to track league standings and player statistics.
fantasypros.com API
Access expert consensus rankings, player projections, average draft position data, injury reports, and the latest player news from FantasyPros. Search by player name or position to retrieve detailed stats, rankings, and expert analysis across all major scoring formats.
hsprepsports.com API
Access high school sports news, rankings, recruiting updates, and player spotlights from HS PrepSports by searching articles, browsing collections, or reading individual pieces. Stay informed on the latest high school athletic developments with curated content all in one place.
sportsgambler.com API
Access predicted and confirmed football starting lineups from major worldwide leagues to inform your betting decisions and match analysis. Get real-time lineup information for upcoming matches and confirmed team selections to stay ahead of the game.
footystats.org API
Get live football scores, team performance metrics, league standings, and head-to-head match statistics all in one place. Search teams and leagues to access detailed player stats, comprehensive analytics, and in-depth performance data across football competitions worldwide.
pff.com API
Access PFF.com football data including fantasy draft and weekly rankings, NFL season info, and NCAA college football schedules and game results.