UK Charity Commission Register Scraper avatar

UK Charity Commission Register Scraper

Pricing

from $1.23 / 1,000 charity profile extracteds

Go to Apify Store
UK Charity Commission Register Scraper

UK Charity Commission Register Scraper

Search and export public Charity Commission register profiles for England and Wales, including status, activities, trustees, financial history, accounts and annual-return filing details.

Pricing

from $1.23 / 1,000 charity profile extracteds

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Search the UK Charity Commission register for England and Wales and export public charity profiles for due diligence, grant-making, nonprofit research, and recurring compliance checks.

The Actor accepts charity names, registered charity numbers, and public register profile URLs. It returns normalized charity identity, registration status, activities, trustees, financial history, accounts and annual-return filing details.

What does this Actor do?

UK Charity Commission Register Scraper automates the public workflow at register-of-charities.charitycommission.gov.uk.

It can:

  • search charities by a name or keyword;
  • resolve registered charity numbers;
  • extract one known public profile URL;
  • collect current registration and reporting status;
  • collect activity descriptions;
  • collect trustee names, roles, and appointment dates;
  • collect five-year income and expenditure figures where published;
  • collect accounts and annual-return filing dates, timeliness, and download links;
  • stop at a user-defined record limit;
  • produce JSON, CSV, Excel, XML, RSS, or another Apify dataset export format.

No Charity Commission account, API key, login, browser, or user-supplied proxy is required.

Why use it?

The Actor turns the Charity Commission's public server-rendered register pages into consistent, typed records without requiring a regulator login or API credentials. It combines identity, status, activities, trustees, five-year finances, and filing details in one export, preserving source URLs so teams can verify important findings.

This makes repeated due-diligence work easier to automate: use the same input for a one-off review, a scheduled portfolio check, or downstream spreadsheet and data-warehouse enrichment instead of manually opening and copying each public profile.

Who is it for?

Grant makers and foundations

Verify a charity before awarding a grant. Review its current registration, activities, trustees, finances, and recent filing record from one structured dataset.

Procurement and compliance teams

Run repeatable checks on nonprofit suppliers, partners, and beneficiaries. Schedule the same input and compare saved datasets over time.

Journalists and researchers

Build a reproducible source list, inspect trustee networks, and compare income or expenditure across reporting periods.

Nonprofit data teams

Enrich a CRM or directory with authoritative public register identifiers and source URLs.

Developers

Call one Actor API instead of maintaining session-aware form submission, pagination, HTML parsing, retries, and output normalization.

What data can I extract?

FieldMeaning
charityNumberRegistered charity number displayed by the Commission
organisationNumberInternal organisation identifier used in the profile URL
nameRegistered charity name
statusCurrent status shown by search or inferred from registration history
latestIncomeLatest displayed total gross income in GBP
reportingStatusFiling timeliness shown in search results
activitiesPublic description of how the charity spends its money
trusteesTrustee name, role, and appointment date when published
financialHistoryReporting period end, gross income, and expenditure
filingsAccounts and annual-return title, year, receipt date, status, and download URL
sourceUrlDirect full public profile URL
searchQueryQuery that discovered the charity, when applicable
scrapedAtISO timestamp for collection provenance

Missing upstream values are omitted rather than invented.

How to search the Charity Commission register

  1. Open the Actor input page.
  2. Add one or more values to Charity name searches or Charity numbers.
  3. Leave Include details enabled for trustees, finances, and filings.
  4. Set Maximum charities to your required dataset size.
  5. Click Start.
  6. Open the default dataset and export it in your preferred format.

A small first run is useful for checking query breadth before scheduling a larger recurring job.

Input parameters

queries

An array of charity names or keywords.

{
"queries": ["oxfam"],
"includeDetails": true,
"maxItems": 10
}

charityNumbers

An array of registered charity numbers. Each number is resolved through the public register, which also handles profiles whose organisation number differs from their displayed charity number.

{
"charityNumbers": ["202918", "1081247", "1160384"],
"includeDetails": true,
"maxItems": 3
}

startUrls

An array of public Charity Commission charity-details URLs.

{
"startUrls": [
{ "url": "https://register-of-charities.charitycommission.gov.uk/en/charity-search/-/charity-details/202918" }
],
"maxItems": 1
}

URLs on unrelated domains or non-profile paths fail validation.

includeDetails

Defaults to true.

Set it to false for a faster search-results export containing identity, status, latest income, reporting status, and source URL. Keep it enabled for due diligence profiles.

maxItems

The maximum number of unique charities saved across all inputs.

  • minimum: 1
  • default: 25
  • maximum: 500

The Actor deduplicates results by Charity Commission organisation number.

Output example

A current profile record has this shape:

{
"charityNumber": "202918",
"organisationNumber": "202918",
"name": "OXFAM",
"status": "Registered",
"latestIncome": 339366903,
"reportingStatus": "Received: On time",
"activities": "Oxfam's objects are to prevent and relieve poverty...",
"trustees": [
{
"name": "Andrew David Tivey",
"role": "Trustee",
"appointedAt": "27 November 2025"
}
],
"financialHistory": [
{
"periodEnd": "31/03/2025",
"income": 339370000,
"expenditure": 362640000
}
],
"filings": [
{
"title": "Annual return",
"reportingYear": "31 March 2025",
"receivedAt": "18 December 2025",
"status": "On time"
}
],
"sourceUrl": "https://register-of-charities.charitycommission.gov.uk/en/charity-search/-/charity-details/202918/full-print?...",
"searchQuery": "oxfam",
"scrapedAt": "2026-08-25T14:20:00.000Z"
}

Financial values are normalized to GBP numbers. For example, £344.30m becomes 344300000.

Recurring charity due diligence workflow

Use an Apify Task for a stable list of charity numbers.

  1. Save the Actor input as a Task.
  2. Add a weekly or monthly schedule.
  3. Send dataset items to a webhook, Make, Zapier, Google Sheets, or your warehouse.
  4. Compare registration, trustee, income, expenditure, and filing fields with the previous run.
  5. Route changes to a human reviewer.

The Actor exports current public snapshots. It does not itself send alerts or calculate changes between runs.

How much does it cost to extract UK charity profiles?

The Actor uses pay-per-event pricing:

  • one start event per run;
  • one item event for each charity record saved;
  • trustees, financial periods, and filings inside a charity record have no separate charge.

The start event is $0.00005. At the BRONZE tier, each saved charity is $0.002048.

Example BRONZE charges before platform plan allowances:

Saved charitiesStartItemsTotal
1$0.00005$0.002048$0.002098
25$0.00005$0.0512$0.05125
100$0.00005$0.2048$0.20485

Higher-volume subscription tiers receive lower per-item prices. Runtime compute is included in Apify platform usage according to your plan.

API usage with cURL

Start a synchronous run and return dataset items:

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~uk-charity-commission-register-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"charityNumbers": ["202918"],
"includeDetails": true,
"maxItems": 1
}'

Keep the token in an environment variable or secret manager.

API usage with JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/uk-charity-commission-register-scraper').call({
queries: ['oxfam'],
includeDetails: true,
maxItems: 10,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

API usage with Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/uk-charity-commission-register-scraper').call(run_input={
'charityNumbers': ['202918', '1081247'],
'includeDetails': True,
'maxItems': 2,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

Use with Apify MCP

Add the Actor to Claude Code:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/uk-charity-commission-register-scraper"

Claude Desktop setup

Use this JSON in Claude Desktop's MCP configuration.

Cursor setup

Add the same remote MCP server URL in Cursor's MCP settings.

VS Code setup

Add the same server under the MCP configuration used by your VS Code extension.

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/uk-charity-commission-register-scraper"
}
}
}

Example prompts:

  • “Search the UK Charity Commission register for charities matching community foundation and return 20 results.”
  • “Extract trustees, five-year finances, and filings for charity number 202918.”
  • “Create a CSV-ready dataset for these ten charity numbers.”

Integrations and exports

The default dataset works with:

  • CSV and Microsoft Excel exports;
  • JSON and XML pipelines;
  • Google Sheets;
  • Make and Zapier;
  • webhooks;
  • the Apify API client;
  • cloud warehouses and custom ETL jobs.

Use charityNumber as the regulator-facing identifier and organisationNumber or sourceUrl for stable profile retrieval.

Reliability and retries

The Actor uses the public SSR register rather than browser automation.

For each search it:

  1. opens the search page;
  2. retains the session cookie and form token;
  3. submits the search query;
  4. follows result pages;
  5. fetches selected full-print profiles;
  6. retries network, rate-limit, and temporary server errors with bounded backoff.

Malformed inputs, unsupported URLs, and permanent client errors are not retried blindly.

Limitations

  • Coverage is England and Wales, matching the public Charity Commission register used by this Actor.
  • The Actor does not cover the Scottish Charity Register or Charity Commission for Northern Ireland.
  • Search matching and ranking are controlled by the official register.
  • Historical fields are limited to what each public profile publishes.
  • Some charities do not publish every trustee, filing, or financial field.
  • Public page structure or availability can change.
  • maxItems is capped at 500 per run to keep extraction bounded and respectful.
  • This is a current-snapshot extractor, not a built-in change detector or alerting service.

Responsible use and legality

The Actor accesses public regulator pages without logging in.

Users remain responsible for:

  • complying with applicable law and the source website's terms;
  • establishing a lawful purpose for processing personal data such as trustee names;
  • collecting only fields needed for that purpose;
  • applying retention, access-control, and deletion policies;
  • independently verifying decisions that affect people or organizations.

Do not treat an automated record as legal, financial, or grant-making advice.

Troubleshooting

Why did my search return no charities?

Check the spelling and try a shorter distinctive name. For a known entity, use its registered charity number.

Why are trustee or filing fields empty?

Confirm includeDetails is true. The register may not publish that field for every charity.

Why was my URL rejected?

Only public register-of-charities.charitycommission.gov.uk URLs containing /charity-details/ are accepted.

What should I do after a temporary source error?

Inspect the run log. The Actor already retries bounded temporary failures. If the register is unavailable, rerun later rather than increasing concurrency.

FAQ

Does this Actor require a Charity Commission API key?

No. It uses public register search and full-print profile pages.

Can I search by both names and charity numbers?

Yes. Supply both arrays; results are combined and deduplicated up to maxItems.

Can I extract only quick search results?

Yes. Set includeDetails to false.

Are trustees charged separately?

No. The item event covers the complete saved charity record and its nested public details.

Can I schedule monitoring?

Yes. Save the input as an Apify Task and attach a schedule. Compare successive datasets in your downstream workflow.

Is this an official Charity Commission product?

No. This independent Actor extracts public information from the official register and includes source URLs for verification.

For adjacent public-record due diligence workflows, see:

These cover different registries and do not replace Charity Commission data for England and Wales.

Changelog

See the Store changelog for shipped capabilities and future updates.