Discover/MoneySavingExpert API
live

MoneySavingExpert APImoneysavingexpert.com

Access MoneySavingExpert forum data via API: categories, discussions, comments, search, and MSE news across mortgages, banking, and savings topics.

Endpoint health
verified 4d ago
get_savings_deals
get_discussion_details
get_category_discussions
get_mortgage_best_buys
get_banking_deals
9/9 passing latest checkself-healing
Endpoints
9
Updated
26d ago

What is the MoneySavingExpert API?

The MoneySavingExpert API provides 9 endpoints for reading forum data from moneysavingexpert.com, covering categories, paginated discussions, per-thread comments, and keyword search. The get_discussion_details endpoint returns full thread metadata alongside up to 50 comments per discussion, while dedicated endpoints for mortgages, banking, savings, and MSE news let you pull topic-specific threads without filtering manually.

Try it
Page number for pagination.
Max categories per page.
api.parse.bot/scraper/0562cc27-5751-430a-8896-99d5c51183cb/<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/0562cc27-5751-430a-8896-99d5c51183cb/get_forum_categories?page=1&limit=100' \
  -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 moneysavingexpert-com-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: MoneySavingExpert Forum API — browse categories, search discussions, read comments."""
from parse_apis.moneysavingexpert_forum_api import MoneySavingExpert, CategoryId, DiscussionNotFound

client = MoneySavingExpert()

# List forum categories to see what topics are available
for category in client.categories.list(limit=5):
    print(category.name, f"({category.count_discussions} discussions)")

# Search for discussions about mortgages
discussion = client.discussions.search(query="mortgage rates", limit=1).first()
if discussion:
    print(discussion.name, discussion.date_inserted, discussion.count_comments)

    # Drill into the discussion's comments
    for comment in discussion.comments.list(limit=3):
        print(comment.insert_user, comment.body[:80])

# Browse mortgage discussions via the dedicated listing
for post in client.discussions.list_mortgages(limit=3):
    print(post.name, post.count_views)

# Construct a category by ID and browse its discussions
credit_cards = client.category(category_id=11)
for post in credit_cards.discussions.list(limit=3):
    print(post.name, post.count_views)

# Typed error handling: catch a missing discussion
try:
    detail = client.discussions.get(discussion_id=999999999)
    print(detail.name)
except DiscussionNotFound as exc:
    print(f"Discussion not found: {exc.discussion_id}")

print("exercised: categories.list / discussions.search / comments.list / discussions.list_mortgages / category().discussions.list / discussions.get")
All endpoints · 9 totalmissing one? ·

Lists all forum categories with descriptions and stats. Each category has a unique categoryID, name, description, URL, and counts of discussions and comments. Returns a flat list of all categories regardless of hierarchy depth.

Input
ParamTypeDescription
pageintegerPage number for pagination.
limitintegerMax categories per page.
Response
{
  "type": "object",
  "fields": {
    "items": "array of category objects with categoryID, name, description, url, countDiscussions, countComments"
  },
  "sample": {
    "data": {
      "items": [
        {
          "url": "https://forums.moneysavingexpert.com/categories/credit-cards",
          "name": "Credit cards",
          "categoryID": 11,
          "description": "A place to discuss all things credit card-related with other MoneySavers.",
          "countComments": 609650,
          "countDiscussions": 80136
        }
      ]
    },
    "status": "success"
  }
}

About the MoneySavingExpert API

Forum Categories and Discussions

The get_forum_categories endpoint lists all forum categories with categoryID, name, description, countDiscussions, and countComments. These IDs feed directly into get_category_discussions, which accepts a required category_id plus optional page and limit params and returns discussion objects including discussionID, name, body, url, dateInserted, countComments, and countViews. Well-known category IDs include 11 for Credit Cards, 15 for Mortgages, 17 for Savings, and 20 for Banking.

Topic-Specific Shortcuts

Four convenience endpoints — get_mortgage_best_buys, get_banking_deals, get_savings_deals, and get_latest_news — scope results to their respective forum sections without requiring you to look up a category_id first. All four support page and limit for pagination. The get_latest_news endpoint targets the MSE News & Blogs category and omits countViews from its response, which the other three include.

Search and Thread Details

search_forum accepts a required query string and returns matching discussions with discussionID, name, body, url, categoryID, dateInserted, and countComments. To fetch full thread content, pass the discussion_id to get_discussion_details, which returns both the discussion metadata and a comments array (up to 50 entries per call) in a single response object.

Main Site Pages

get_main_site_page fetches content from the main moneysavingexpert.com domain by accepting an optional path parameter (e.g. /savings/ or /mortgages/best-buys/). It returns the resolved url and raw content as an HTML string. Note that some paths may be blocked by Cloudflare protection, so results for this endpoint are not guaranteed on every request.

Reliability & maintenanceVerified

The MoneySavingExpert API is a managed, monitored endpoint for moneysavingexpert.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when moneysavingexpert.com 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 moneysavingexpert.com 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
4d ago
Latest check
9/9 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
  • Monitor new mortgage discussion threads by polling get_mortgage_best_buys for changes in countComments or new discussionID values.
  • Build a savings rate tracker that searches for specific bank names using search_forum and surfaces threads by dateInserted.
  • Aggregate community sentiment on credit card products by fetching discussions in category 11 via get_category_discussions and reading body text.
  • Track MSE editorial coverage by pulling the latest entries from get_latest_news and indexing name and dateInserted fields.
  • Fetch complete Q&A threads on banking topics using get_discussion_details to retrieve discussion metadata plus associated comments in one call.
  • Map forum category activity levels by comparing countDiscussions and countComments across all categories returned by get_forum_categories.
  • Extract structured article or guide text from the main MSE site by calling get_main_site_page with specific paths like /savings/.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does MoneySavingExpert have an official developer API?+
MoneySavingExpert does not publish a public developer API. This Parse API provides structured access to MSE forum and site data without requiring you to manage any direct interaction with the site.
How many comments does `get_discussion_details` return, and can I paginate them?+
The endpoint returns up to 50 comments per call alongside the discussion metadata. There is no comments-specific pagination parameter on this endpoint — if a thread has more than 50 comments, only the first 50 are included in the response.
Does the API expose user profile data for forum members?+
Not currently. The API covers discussion metadata, comment content, and category stats, but does not return individual user profile pages, posting histories, or account-level data. You can fork this API on Parse and revise it to add an endpoint targeting forum member profiles.
Is the `get_main_site_page` endpoint reliable for all MSE paths?+
Not for all paths. The endpoint documentation notes that some requests may be blocked by Cloudflare protection on the main moneysavingexpert.com domain. Forum endpoints are unaffected by this limitation, so they are the more stable data source for programmatic use.
Does the API cover MSE's Best Buy tables or deal alerts outside of forum discussions?+
Not currently as structured data. The get_mortgage_best_buys, get_banking_deals, and get_savings_deals endpoints return forum discussion threads about those topics, not the curated Best Buy comparison tables from the editorial site. You can fork this API on Parse and revise it to parse specific Best Buy table pages via get_main_site_page paths.
Page content last updated . Spec covers 9 endpoints from moneysavingexpert.com.
Related APIs in FinanceSee all →
moneysupermarket.com API
Browse and compare live mortgage rates across multiple lenders on MoneySuperMarket. Search for mortgage products by property value, deposit, term, region, and product type to find competitive rates and detailed cost breakdowns.
moneyfactscompare.co.uk API
Find and compare mortgage products from Moneyfacts with detailed specifications including rates, terms, and eligibility requirements. Browse by category, search for specific mortgages, and access comprehensive product details to help you find the best mortgage option.
slickdeals.net API
Search and discover deals, coupons, and trending bargains across thousands of retailers, along with community forum discussions about the best offers. Get detailed information about specific deals and instantly find surging hot bargains before they sell out.
reddit.com API
Search Reddit posts and comments across any subreddit. Retrieve post discussions with full comment threads, search by keyword, and browse subreddit feeds by category (hot, new, top, rising) with flexible sorting and pagination.
ozbargain.com.au API
Browse the latest deals and discover the most popular bargains trending on OzBargain.com.au. Access deals across all categories, sorted by recency or community upvotes.
nerdwallet.com API
Access current mortgage rates, top-rated credit card recommendations, detailed card information, and expert financial articles — all sourced from NerdWallet. Compare lenders, explore card features, APRs, rewards programs, and stay up to date with mortgage guides and resources.
team-bhp.com API
Access forum discussions, travelogues, news articles, and user profiles from Team-BHP.com to discover automotive insights, travel stories, and community conversations. Search threads, browse categories, and find trending discussions all in one place.
features.financialjuice.com API
Get live financial news, economic calendar events, and in-depth articles to stay informed on market movements and economic indicators. Search and filter news by stock codes and calendar events to find the financial information most relevant to your trading or investment decisions.