{
  "openapi": "3.0.1",
  "info": {
    "title": "UK FCA Warning List",
    "description": "Scrapes the FCA Warning List of unauthorised firms. Returns firm and trading names, addresses, phones, emails, websites and the date published, and for a clone firm the authorised firm it impersonates with its Firm Reference Number.",
    "version": "0.1",
    "x-build-id": "x71DALMMnkrjduVRE"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/spookyweb~uk-fca-warning-list/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-spookyweb-uk-fca-warning-list",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/spookyweb~uk-fca-warning-list/runs": {
      "post": {
        "operationId": "runs-sync-spookyweb-uk-fca-warning-list",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/spookyweb~uk-fca-warning-list/run-sync": {
      "post": {
        "operationId": "run-sync-spookyweb-uk-fca-warning-list",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "search": {
            "title": "🔍 Search the Warning List",
            "type": "string",
            "description": "Text to match against the names on the FCA Warning List, for example barclays, crypto or a firm you have been asked to pay. Leave it empty to walk the whole list, which is the right setting when you want everything published in a date window."
          },
          "startsWith": {
            "title": "🔠 First letter",
            "enum": [
              "",
              "A",
              "B",
              "C",
              "D",
              "E",
              "F",
              "G",
              "H",
              "I",
              "J",
              "K",
              "L",
              "M",
              "N",
              "O",
              "P",
              "Q",
              "R",
              "S",
              "T",
              "U",
              "V",
              "W",
              "X",
              "Y",
              "Z"
            ],
            "type": "string",
            "description": "Keep only entries whose name begins with this letter, using the A to Z control the FCA publishes on the list itself. Leave it on Any letter for everything. It combines with the search box, so B plus barclays returns only the Barclays entries filed under B.",
            "default": ""
          },
          "cloneOnly": {
            "title": "👥 Clone firms only",
            "type": "boolean",
            "description": "Keep only clone firms, meaning entries where fraudsters are impersonating a genuine authorised business. These are the entries that name the authorised firm being copied and its Firm Reference Number. Read from each firm's own warning page, so it turns warning details on.",
            "default": false
          },
          "publishedFrom": {
            "title": "📅 Published from",
            "type": "string",
            "description": "Keep only warnings the FCA first published on or after this date, written as YYYY-MM-DD, for example 2026-01-01. Anything that cannot be read as a date stops the run with a message rather than being ignored. Setting this sorts the list newest first so the run can stop as soon as it passes the date."
          },
          "publishedTo": {
            "title": "📅 Published to",
            "type": "string",
            "description": "Keep only warnings the FCA first published on or before this date, written as YYYY-MM-DD, for example 2026-06-30. The whole of the day named is included. Anything that cannot be read as a date stops the run with a message rather than being ignored."
          },
          "sortBy": {
            "title": "↕️ Sort by",
            "enum": [
              "updated",
              "published",
              "name"
            ],
            "type": "string",
            "description": "Which column the FCA list is ordered by before the run reads it, using the sort links the list publishes. Date updated is the FCA's own default. Setting a published from date overrides this to date published, because that is what lets the run stop early.",
            "default": "updated"
          },
          "sortOrder": {
            "title": "↕️ Sort direction",
            "enum": [
              "desc",
              "asc"
            ],
            "type": "string",
            "description": "Whether to read the FCA list newest first or oldest first, or A to Z rather than Z to A when sorting by firm name. Newest first is the FCA's own default and is what you want for monitoring new warnings.",
            "default": "desc"
          },
          "fetchWarningDetails": {
            "title": "📄 Fetch full warning details",
            "type": "boolean",
            "description": "Open each firm's own warning page to collect the address, phone, email, website, social media handles and, for a clone, the authorised firm being impersonated. Leave it on. Turning it off returns names and dates only, and costs one request per firm less.",
            "default": true
          },
          "maxResults": {
            "title": "🔢 Max entries",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Hard cap on how many Warning List entries a run returns. Each entry saved is one billable result. The ceiling is 500 because reading one warning page each is roughly what fits inside a comfortable run, and a run that runs out of time stops cleanly and keeps everything collected.",
            "default": 100
          },
          "maxRecordsScanned": {
            "title": "🔢 Maximum entries to read",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Safety stop on how many Warning List entries a run reads before it gives up on filling the result cap. It matters when cloneOnly is set, because roughly one entry in twelve is a clone, so returning 100 clones means reading about 1,200 entries. Reading an entry it then skips is cheap: the clone relationship is published in the listing name, so a non-clone is dropped without ever loading its page.",
            "default": 1500
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy configuration",
            "type": "object",
            "description": "Which proxy the run goes through. The FCA site sits behind Cloudflare and answers 403 to Apify datacentre addresses, so this defaults to Apify Residential in the United Kingdom, which is what it answers 200 to. Change it only if you have your own proxy that the site accepts.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "GB"
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}