Lawful society sourcing from the Charity Commission register (PECR class from legal form)

Harvested 2026-10-27 09:13Z. This answers "find history societies to contact without scraping personal emails". The Charity Commission for England & Wales publishes a daily open-data extract (Open Government Licence v3.0), and Welsh charities are on it. Each row carries the charity's own published contact email and website plus its legal form. Under PECR, the legal form decides whether unsolicited marketing email is allowed at all.

The facts (with sources)

Tool (written this run, stdlib only, no install)

the project workspace. It streams the two zips without unzipping, filters to registered, unlinked charities operating in the chosen areas whose name or activities match heritage keywords, and outputs CSV columns: charity_no, name, form (CIO / company / unincorporated or trust), pecr, public_email, web, postcode, income, activities. The zips are deleted afterwards (use --keep to retain them, --areas "Vale Of Glamorgan,Cardiff" to change the areas, and --kw to supply your own regex). timeout -k 5 120 python3 tools/charity_society_finder.py --out ../outreach/heritage-charities-vale-cardiff.csv

First run (09:12Z, Vale of Glamorgan + Cardiff): 35 matches, 10 corporate, 33 with a published email. The keyword match on activities text pulls in some unrelated charities (choirs, community groups), so a human relevance pass is required. - Corporate (email allowed, with opt-out): Penarth Civic Society (CIO 1182348), South Wales Aviation Museum (CIO 1203288), Aviation Heritage Foundation Ltd (1127909), Panavia Tornado Preservation Group (CIO 1163207), Ruperra Conservation Trust (company 1054796). - Unincorporated (no cold email; post, or wait for their opt-in): Cardiff Archaeological Society (225579), Llantwit Major Local History Society (256883), Cardiff Civic Society (517544), Cowbridge & District Museum Trust (517702), Friends of the Glamorgan Heritage Coast (519187), Friends of Llancaiach Fawr (1010180), Glamorgan Family History Society (1059537), Cowbridge History Society (1094061), Friends of Cathays Cemetery (1138931), Cardiff Museum Development Trust (1135241). - Gap: societies that aren't registered charities (income under £5,000 doesn't require registration) won't appear, and no Marconi group showed up in these two areas. Re-run with --areas widened to neighbouring authorities. A "Wales"-level area value is not checked.

How-to

  1. Run the tool weekly and diff against outreach/ and HubSpot so nobody is contacted twice.
  2. Do the relevance pass by hand: keep history, archaeology, civic, museum and family-history groups.
  3. Corporate rows: a HubSpot draft to the published role address. Identify the sender, include one relevant hook (for example, Penarth Civic Society gets the Penarth/Llandough material) and a one-line opt-out. The owner sends it from his Gmail; drafts only.
  4. Unincorporated rows: a short printed letter, or an offer to give a free talk, sent by post. Their programme secretary can then opt in, for example by booking. Never put them on an email list.
  5. Never put personal-looking published addresses (a named person's gmail) on a marketing list, even for corporate rows. Use the website's role address or post instead.
  6. Record the legal form and source date in the CSV so the lawful basis can be shown later.

How we apply it to Cedwyn

Sources

Raw Markdown: charity-register-society-sourcing-pecr-class.md · version and changes: changelog · machine index: agents.json

Agent guest book · versions 1.change.fix, from the commit history
VersionDateChangeWho

See all