Vexaloom Labs

General Chiropractic Council Register Scraper

Search the General Chiropractic Council's public register of UK-regulated chiropractors by name, postcode radius, or registration number, with practice addresses, contact details, qualifications, and regulatory history.

Input schema

Input fields, types, required flags, descriptions, defaults, and prefills come from the published definition. Prefill examples are distinct from defaults.

FieldTypeRequiredDescription
modestringrequiredChoose how to query the register.
namestringoptionalFull or partial name, e.g. `Smith` or `Julia Smith`. Use at least 3 characters. When combined with a location, the name is applied as a filter inside that area.
postcodestringoptionalUK postcode such as `SW1A 1AA`. Results are returned nearest-first within the site's 30-mile radius.
Show all input fields
FieldTypeRequiredDescription
modestringrequiredChoose how to query the register.
namestringoptionalFull or partial name, e.g. `Smith` or `Julia Smith`. Use at least 3 characters. When combined with a location, the name is applied as a filter inside that area.
postcodestringoptionalUK postcode such as `SW1A 1AA`. Results are returned nearest-first within the site's 30-mile radius.
locationstringoptionalTown, city, or UK postcode such as `Manchester`, `Edinburgh`, or `CF10 1EP`. Results are nearest-first within the site's 30-mile radius.
genderstringoptionalOnly return chiropractors of this gender. Gender is not published for removed or interim-suspended records.
registrationStatusstringoptionalOnly return records with this exact status. Non-practising and removed/suspended records are included automatically when their status is selected.
includeNonPractisingbooleanoptionalInclude chiropractors who are registered but not currently practising in the UK.
includeRemovedSuspendedbooleanoptionalInclude chiropractors who have been removed from the register or are suspended.
registeredAfterstringoptionalISO date `YYYY-MM-DD`; keeps chiropractors first registered on or after this date.
registeredBeforestringoptionalISO date `YYYY-MM-DD`; keeps chiropractors first registered on or before this date.
qualificationContainsstringoptionalCase-insensitive text filter on the qualification, e.g. `AECC`, `McTimoney`, or `Doctor of Chiropractic`.
registrationNumbersarrayoptionalExact GCC registration numbers, e.g. `01913` or `1913`. Leading zeros are added automatically.
fetchDetailsbooleanoptionalOpen each matching profile to collect gender, first-registered date, qualification, full practices, contacts, and regulatory actions. Turn off for a faster name/registration/status list.
maxItemsintegeroptionalHard cap on emitted records.

Download the published input schema

View complete JSON
{
  "description": "Search the General Chiropractic Council (GCC) public register by name, town or postcode, look up exact registration numbers, or browse the full register.",
  "properties": {
    "fetchDetails": {
      "default": true,
      "description": "Open each matching profile to collect gender, first-registered date, qualification, full practices, contacts, and regulatory actions. Turn off for a faster name/registration/status list.",
      "prefill": false,
      "title": "Fetch full detail pages",
      "type": "boolean"
    },
    "gender": {
      "description": "Only return chiropractors of this gender. Gender is not published for removed or interim-suspended records.",
      "editor": "select",
      "enum": [
        "Male",
        "Female"
      ],
      "enumTitles": [
        "Male",
        "Female"
      ],
      "title": "Gender",
      "type": "string"
    },
    "includeNonPractising": {
      "default": false,
      "description": "Include chiropractors who are registered but not currently practising in the UK.",
      "prefill": false,
      "title": "Include non-practising",
      "type": "boolean"
    },
    "includeRemovedSuspended": {
      "default": false,
      "description": "Include chiropractors who have been removed from the register or are suspended.",
      "prefill": false,
      "title": "Include removed and suspended",
      "type": "boolean"
    },
    "location": {
      "description": "Town, city, or UK postcode such as `Manchester`, `Edinburgh`, or `CF10 1EP`. Results are nearest-first within the site's 30-mile radius.",
      "editor": "textfield",
      "title": "Town or postcode (mode=search)",
      "type": "string"
    },
    "maxItems": {
      "default": 50,
      "description": "Hard cap on emitted records.",
      "maximum": 5000,
      "minimum": 1,
      "prefill": 3,
      "title": "Max items",
      "type": "integer"
    },
    "mode": {
      "default": "search",
      "description": "Choose how to query the register.",
      "editor": "select",
      "enum": [
        "search",
        "byRegistrationNumber",
        "fullRegister"
      ],
      "enumTitles": [
        "Search by name or location",
        "Look up exact registration numbers",
        "Browse the full register"
      ],
      "prefill": "search",
      "title": "Mode",
      "type": "string"
    },
    "name": {
      "description": "Full or partial name, e.g. `Smith` or `Julia Smith`. Use at least 3 characters. When combined with a location, the name is applied as a filter inside that area.",
      "editor": "textfield",
      "prefill": "Smith",
      "title": "Chiropractor name (mode=search)",
      "type": "string"
    },
    "postcode": {
      "description": "UK postcode such as `SW1A 1AA`. Results are returned nearest-first within the site's 30-mile radius.",
      "editor": "textfield",
      "title": "Near postcode (mode=search)",
      "type": "string"
    },
    "qualificationContains": {
      "description": "Case-insensitive text filter on the qualification, e.g. `AECC`, `McTimoney`, or `Doctor of Chiropractic`.",
      "editor": "textfield",
      "title": "Qualification contains",
      "type": "string"
    },
    "registeredAfter": {
      "description": "ISO date `YYYY-MM-DD`; keeps chiropractors first registered on or after this date.",
      "editor": "textfield",
      "title": "First registered after",
      "type": "string"
    },
    "registeredBefore": {
      "description": "ISO date `YYYY-MM-DD`; keeps chiropractors first registered on or before this date.",
      "editor": "textfield",
      "title": "First registered before",
      "type": "string"
    },
    "registrationNumbers": {
      "default": [],
      "description": "Exact GCC registration numbers, e.g. `01913` or `1913`. Leading zeros are added automatically.",
      "editor": "stringList",
      "prefill": [
        "01913"
      ],
      "title": "Registration numbers (mode=byRegistrationNumber)",
      "type": "array"
    },
    "registrationStatus": {
      "description": "Only return records with this exact status. Non-practising and removed/suspended records are included automatically when their status is selected.",
      "editor": "select",
      "enum": [
        "Registered - Practising",
        "Registered - Non-Practising",
        "Conditions of Practice",
        "Suspended",
        "Erased/Struck Off",
        "Admonishment"
      ],
      "enumTitles": [
        "Registered - Practising",
        "Registered - Non-Practising",
        "Conditions of Practice",
        "Suspended or interim suspension",
        "Removed from Register / Erased",
        "Admonishment"
      ],
      "title": "Registration status",
      "type": "string"
    }
  },
  "required": [
    "mode"
  ],
  "schemaVersion": 1,
  "title": "UK Chiropractor Register Scraper Input",
  "type": "object"
}

Output schema

Published result links and storage locations. This schema is not an exhaustive contract for every field in a dataset record.

FieldTypeRequiredDescription
chiropractorsstringoptionalDataset containing all scraped chiropractor records.

Download the published output schema

View complete JSON
{
  "actorOutputSchemaVersion": 1,
  "description": "UK chiropractors from the GCC public register with registration status, practice contacts, last-known locations, distance, and regulatory actions.",
  "properties": {
    "chiropractors": {
      "description": "Dataset containing all scraped chiropractor records.",
      "template": "{{links.apiDefaultDatasetUrl}}/items",
      "title": "Chiropractors",
      "type": "string"
    }
  },
  "title": "General Chiropractic Council Register Scraper Output"
}

Dataset schema

Published dataset views and any declared field definitions. A view can select only a subset of the returned record fields.

Download the published dataset schema

View complete JSON
{
  "actorSpecification": 1,
  "views": {
    "overview": {
      "display": {
        "component": "table",
        "properties": {}
      },
      "title": "Chiropractors",
      "transformation": {
        "fields": [
          "fullName",
          "registrationNumber",
          "registrationStatus",
          "statusCategory",
          "isPractising",
          "primaryPracticeName",
          "distanceMiles",
          "sourceUrl"
        ]
      }
    }
  }
}

Key-value schema

Published key-value store definitions, when provided by this build.

This definition is not present in the default published build. See the published README for available documentation.

Published README

Read the full published documentation

General Chiropractic Council Register Scraper

Scrape the General Chiropractic Council (GCC) public register — the statutory list of chiropractors registered to practise in the UK. Search by name or by town/postcode, look up exact registration numbers, or walk the full register. Records include registration status, qualification, every published practice with contact details, distance from a location, last-known practice flags, and published regulatory actions. No login, cookies, API key, or proxy setup required.

What this actor does

  • Three modes: search by name or location, byRegistrationNumber for exact five-digit lookups, and fullRegister to browse all 4,000+ records
  • Status coverage: practising, non-practising, conditions of practice, suspended/interim suspension, removed from register, and admonishment
  • Complete practice data: every published practice, address, phone, email, website, coordinates from the site's map index, and distance in miles
  • Regulatory history: action title, date, description, and a direct link to the published hearing decision
  • Client-side refinement: gender, first-registered date range, qualification text, and city/region/country legacy filters
  • Empty fields are omitted — records only contain values the GCC actually publishes

Output per chiropractor

  • fullName — registered name
  • gender — Male or Female when published
  • registrationNumber — five-digit GCC number, zero-padded
  • registrationStatus — canonical status such as Registered - Practising
  • registrationStatusRaw — exact status text shown by the GCC, including en dashes
  • statusCategory — practising, nonPractising, conditions, suspended, removed, admonishment, or other
  • isRegistered — legacy flag: true when the canonical status starts with Registered
  • isOnRegister — false for removed and suspended records
  • isPractising — true for practising, conditions-of-practice, and admonishment records
  • statusNote — the GCC's explanation when a non-standard status is shown
  • sanction — short label for a non-standard status, e.g. Removal, Interim suspension, Conditions of practice
  • dateFirstRegistered — ISO date (YYYY-MM-DD)
  • qualification — degree or diploma and awarding body, where published
  • practices[] — one entry per practice: name, street, city, region, postcode, country, phone, email, website, latitude, longitude, distanceMiles, addressFull, isLastKnown
  • practiceCount — number of published practices
  • primaryPracticeName — first practice name
  • primaryPracticeAddress — first practice address
  • practicesAreLastKnown — true when the profile says "Last known to be working at" and publishes at least one such practice
  • distanceMiles — nearest-result distance in location searches
  • regulatoryActions[] — title, actionDate, description, decisionUrl
  • hasRegulatoryAction — true when at least one action is published
  • regulatoryActionCount — number of published actions
  • sourceUrl — canonical GCC profile URL
  • searchQuery — name, location, registration number, or browse label that produced the record
  • recordType: "chiropractor", scrapedAt

Input

Field Type Default Description
mode select search search / byRegistrationNumber / fullRegister
name string – Full or partial name, e.g. Smith (mode=search; ignored by fullRegister)
postcode string – UK postcode; results nearest-first within 30 miles (mode=search)
location string – Town, city, or UK postcode; results nearest-first (mode=search)
gender select – Male / Female
registrationStatus select – One of the six canonical register statuses
includeNonPractising boolean false Include registered but non-practising chiropractors
includeRemovedSuspended boolean false Include removed and suspended records
registeredAfter string – ISO date; first registered on or after this date
registeredBefore string – ISO date; first registered on or before this date
qualificationContains string – Text filter on the published qualification
registrationNumbers array [] Exact registration numbers (mode=byRegistrationNumber)
fetchDetails boolean true Open each profile for full practice, contact, and action data
maxItems integer 50 Hard cap on emitted records (1–5000)

Example: search by surname

{
  "mode": "search",
  "name": "Smith",
  "maxItems": 25,
  "fetchDetails": true
}

Example: chiropractors near a postcode

{
  "mode": "search",
  "postcode": "SW1A 1AA",
  "maxItems": 20,
  "fetchDetails": true
}

Example: exact registration-number lookup

{
  "mode": "byRegistrationNumber",
  "registrationNumbers": ["01913", "00078", "02260"]
}

Example: browse the full register without detail requests

{
  "mode": "fullRegister",
  "maxItems": 500,
  "fetchDetails": false
}

Use cases

  • Patient safety checks — confirm a chiropractor's current registration status before booking
  • Insurer and referral credentialing — validate registration numbers and qualifications in bulk
  • Healthcare directories — build a UK chiropractor directory with live practice contacts
  • Compliance monitoring — track suspensions, removals, admonishments, and published decisions
  • Practice-density research — measure provision by town, region, qualification pathway, or registration year
  • Recruitment and lead research — find practices near a location with website, phone, and email where published

FAQ

What is the GCC register? The General Chiropractic Council is the UK statutory regulator for chiropractors. Its public register lists everyone who may lawfully use the title "chiropractor" in the UK. The actor reads that same public register; it is not affiliated with the GCC.

Why do some records have no gender, first-registered date, or qualification? The GCC suppresses those fields on removed and interim-suspension profiles. The actor omits what the site does not publish rather than inferring it.

Why do non-practising records usually have no practices? Non-practising chiropractors have told the GCC they are not currently working as chiropractors in the UK, so the register normally publishes no current practice for them. Last-known practices are kept where the site shows them.

Does distanceMiles appear for every search? No. It is published on location searches (town or postcode) within the site's 30-mile radius. Name and registration-number searches do not produce a distance.

What is the difference between isRegistered, isOnRegister, and isPractising? isRegistered preserves the old rule "status starts with Registered". isOnRegister is false for removed and suspended records. isPractising is true for practising, conditions-of-practice, and admonishment records, and false for non-practising, suspended, and removed records.

Can I include removed or non-practising chiropractors? Yes. Use includeNonPractising and includeRemovedSuspended, or select the matching registrationStatus; the relevant include flag is applied automatically.

How complete is the full register? The GCC currently returns 4,287 records, split across 429 result pages of 10. maxItems caps how many are emitted. Turning fetchDetails on adds one profile request per record and takes longer; turning it off emits the list fields only.

Are regulatory-action findings or outcomes structured? The current GCC profile publishes a free-text description and a decision link. The actor captures description and decisionUrl; older structured fields such as finding, outcome, dateRange, and noticeUrl are no longer published and are therefore omitted.

How fresh is the data? Every run reads the live GCC register, so registration status and practice details reflect the site at run time.

Python quickstart

Use a schema-derived input and the Python standard library to start a run. An Apify account and token are required for execution.

Open the step-by-step Python guide →

Source build wh0QvvuCTxCFSofnj. Documentation is regenerated from the default published build; private drafts are not included.