---
title: "Search firms"
method: GET
path: "/firms"
tags: ["Firms"]
---

# Search firms

`GET /firms`

## Request

- Base URL: `https://api.hackforddata.com/v1`
- URL: `https://api.hackforddata.com/v1/firms`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer
  - API key in header `Authorization`
  - API key in cookie `sessionid`

Search canonical firms and filter by Firm type, financial thresholds, source identifiers, source date windows, and correlated person-role, FCA requirement, fine, FOS decision, and current AR/principal relationship criteria. When compound filters are supplied, each firm includes matching evidence. The result count is the number of canonical firms matching the supplied filters.

## Query parameters

- `adviser_bracket` string
- `authorised_from` string, date
- `authorised_to` string, date
- `authority` string
- `fca.aml_registration` 'annex1' | 'any' | 'cryptoassets'
- `fca.annex1_status` 'registered'
- `fca.frn` string
- `financial.sec_regulated_aum_gte_usd` number
- `financial.sec_regulated_aum_lte_usd` number
- `financial.turnover_gte_gbp` number
- `financial.turnover_lte_gbp` number
- `fine.date_from` string, date
- `fine.date_to` string, date
- `fine.description` string
- `fine.has_fines` boolean
- `firm_type` string
- `firm_type.category` string
- `firm_type.tag` string
- `firm_type.tag_dimension` string
- `fos.decision_count_eq` integer
- `fos.decision_count_gte` integer
- `fos.decision_count_lte` integer
- `fos.decision_date_from` string, date
- `fos.decision_date_to` string, date
- `fos.has_decisions` boolean
- `fos.product_category` string
- `fos.upheld` boolean
- `mifid_firm` boolean
- `page` integer
- `page_size` integer
- `q` string
- `relationship.counterparty_aml_registration` 'annex1' | 'any' | 'cryptoassets'
- `relationship.counterparty_annex1_status` 'registered'
- `relationship.counterparty_firm_type` string
- `relationship.counterparty_role` string
- `relationship.current_count_gte` integer
- `relationship.current_count_lte` integer
- `relationship.temporal_scope` string
- `requirement.approved_from` string, date
- `requirement.approved_to` string, date
- `requirement.intervention_type` string
- `requirement.lifecycle_tag` string
- `requirement.modified_from` string, date
- `requirement.modified_to` string, date
- `requirement.restriction_tag` string
- `requirement.standard_type` string
- `requirement.tag_match` string
- `requirement.tags` string
- `role.code` string
- `role.source_authority` 'fca'
- `role.start_from` string, date
- `role.start_to` string, date
- `role.status` string
- `sec.crd` string
- `source_updated_from` string, date
- `source_updated_to` string, date
- `status` string
- `status_effective_from` string, date
- `status_effective_to` string, date

## Response `200`

- FirmListResponse
  - `count` integer, required
  - `page` integer, required
  - `page_size` integer, required
  - `next` string, nullable, required
  - `previous` string, nullable, required
  - `methodology` unknown
  - `results` FirmListRow[], required
    - `adviser_bracket_as_of` string, date, nullable
    - `adviser_bracket` string, nullable
    - `adviser_bracket_is_estimated` boolean
    - `adviser_bracket_description` string
    - `hackford_id` string, required
    - `display_name` string, required
    - `canonical_url` string, required
    - `status_normalised` string, nullable, required
    - `authority_keys` string[], required
    - `identifiers` FirmIdentifiers, required
      - `fca_frn` string, nullable
      - `sec_crd` string, nullable
      - `sec_file` string, nullable
      - `cik` string, nullable
      - `companies_house` string, nullable
      - `lei` string, nullable
    - `aml_registrations` AmlRegistrationEvidence[]
      - `firm_reference_number` integer, required
      - `hackford_id` string, nullable, required
      - `registered_firm_name` string, nullable, required
      - `registration_type` string
      - `status` string, required
      - `status_effective_date` string, nullable, required
      - `match_basis` string, required
      - `companies_house_number` string, nullable, required
      - `source` object, required
    - `annex1_registrations` AmlRegistrationEvidence[]
      - `firm_reference_number` integer, required
      - `hackford_id` string, nullable, required
      - `registered_firm_name` string, nullable, required
      - `registration_type` string
      - `status` string, required
      - `status_effective_date` string, nullable, required
      - `match_basis` string, required
      - `companies_house_number` string, nullable, required
      - `source` object, required
    - `dates` FirmListDates, required
      - `status_effective_date` string, date, nullable, required
      - `authorised_date` string, date, nullable, required
      - `source_last_refreshed` string, date, nullable, required
    - `firm_type` FirmType, required
      - `category` FirmTypeReference, required
        - `code` string, required
        - `display_name` string, required
      - `type` FirmTypeReference, required
        - `code` string, required
        - `display_name` string, required
      - `tags` FirmTypeTags, required
        - `technology` FirmTypeTag[], required
          - `code` string, required
          - `display_name` string, required
        - `strategy` FirmTypeTag[], required
          - `code` string, required
          - `display_name` string, required
        - `client_focus` FirmTypeTag[], required
          - `code` string, required
          - `display_name` string, required
        - `service` FirmTypeTag[], required
          - `code` string, required
          - `display_name` string, required
    - `financials` unknown
    - `matching_roles` FirmMatchingRoleRow[]
      - `person` PublicPerson, required
        - `individual_reference_number` string, nullable, required
        - `full_name` string, nullable, required
        - `first_name` string, nullable, required
        - `last_name` string, nullable, required
      - `role` PublicPersonRole, required
        - `title` string, nullable, required
        - `source_authority` union, required
          - 'fca': * `fca` - fca
          - unknown
        - `start_date` string, date, nullable, required
        - `end_date` string, date, nullable, required
        - `is_current` boolean, required
    - `requirement_match` unknown
    - `relationship_match` unknown
    - `fine_match` unknown
    - `fos_decision_match` unknown

## Other responses

- `400`
- `429`
- `503`

---

[API](https://skmtc.dev/hackforddata/apis/hackford-public-api.md) · [All operations](https://skmtc.dev/hackforddata/apis/hackford-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hackforddata/apis/hackford-public-api/revisions/ac8a53f8beb0?raw)
