{
  "openapi": "3.0.1",
  "info": {
    "title": "New Companies Feed: Companies House & SIRENE, with emails",
    "description": "Newly registered companies data from UK Companies House (no API key needed) and France BODACC + SIRENE. Filter by incorporation date, SIC/NAF code, city, postcode or departement. Officers, plus optional website, email and phone match. $4 per 1,000 companies, no start fee.",
    "version": "0.2",
    "x-build-id": "WT3dnFlJiSPddmbzk"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/superxcoder~new-companies-feed/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-superxcoder-new-companies-feed",
        "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/superxcoder~new-companies-feed/runs": {
      "post": {
        "operationId": "runs-sync-superxcoder-new-companies-feed",
        "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/superxcoder~new-companies-feed/run-sync": {
      "post": {
        "operationId": "run-sync-superxcoder-new-companies-feed",
        "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": {
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Which registers to read: UK, France, or both. Example: United Kingdom. You pay for every company returned, so remove the countries you do not need.",
            "items": {
              "type": "string",
              "enum": [
                "GB",
                "FR"
              ],
              "enumTitles": [
                "United Kingdom (Companies House)",
                "France (BODACC + SIRENE)"
              ]
            },
            "default": [
              "GB"
            ]
          },
          "startDate": {
            "title": "Start date",
            "type": "string",
            "description": "First day of the period (inclusive). A date (2026-10-12) or a relative value: \"7 days\" means 7 days ago. Empty = the last 7 days. Up to 366 days back per run for a historical backfill. UK: incorporation date. France: by default the day the registration was published in BODACC, about 9-11 days after the company was created (see \"France: which date the period uses\").",
            "default": ""
          },
          "endDate": {
            "title": "End date",
            "type": "string",
            "description": "Last day of the period (inclusive). A date or a relative value such as \"1 day\". Empty = today. Dates are calendar days as the registers publish them.",
            "default": ""
          },
          "maxItems": {
            "title": "Max companies",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many companies. Newest companies come first, so a low limit may only cover the last day or two. Cost: 100 companies = $0.15, 1,000 companies = $1.50, directors included (plus $0.004 for each contact found). If you leave it empty (for example in an API call or schedule), the limit is 1,000. With several countries the limit is shared between them.",
            "default": 1000
          },
          "companyStatuses": {
            "title": "Company status",
            "type": "array",
            "description": "Keep only companies with these statuses on the register. Default: active. Empty = every status. A few days-old companies are already shown as dissolved or in liquidation (\"inactive\"). France: when the SIRENE lookup fails the status is \"unknown\" and the company is kept with \"active\".",
            "items": {
              "type": "string",
              "enum": [
                "active",
                "inactive",
                "dissolved"
              ],
              "enumTitles": [
                "Active",
                "Inactive (liquidation, administration, ceased)",
                "Dissolved / closed"
              ]
            },
            "default": [
              "active"
            ]
          },
          "includeOfficers": {
            "title": "Include directors",
            "type": "boolean",
            "description": "Add the directors (France: managers such as Gérant or Président) with name, role and, in the UK, the appointment date. Never dates of birth, nationality or home addresses. French units that opted out of public listing get no names. Example result: \"DAVIS, Jamal Ishmael (Director)\".",
            "default": true
          },
          "matchContacts": {
            "title": "Find website, email and phone (optional)",
            "type": "boolean",
            "description": "Look for each company's own website and read the email and phone printed on it. The site must prove it belongs to the company (registry number on the site = high confidence; exact name plus same postcode or town = medium). Emails are never guessed. Most brand-new companies have no website yet: expect about 1-10% with a contact (more for IT and consulting). You pay $0.004 only when an email or phone was found. Makes the run slower.",
            "default": false
          },
          "postcodePrefixes": {
            "title": "Postcode starts with",
            "type": "array",
            "description": "Best way to get one local area. UK: letters only = the whole postcode area, so LS = Leeds area (Leeds, Pudsey, Otley...), M = Manchester, B = Birmingham (but not BA, BS or BD). Longer values such as LS8 or EC1 match the start of the postcode. France: 33 = Gironde, 750 = Paris. Spaces are ignored. Empty = everywhere.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Towns or cities",
            "type": "array",
            "description": "Words looked for in the registered address. Example: Leeds. UK: the Companies House search matches any part of the address, so \"Manchester\" can also return a company on \"Manchester Road\" in another town. For a whole area, \"Postcode starts with\" above is more exact. France: the start of the town name (Lyon, Bordeaux). Empty = everywhere.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "sicCodes": {
            "title": "UK industry codes (SIC)",
            "type": "array",
            "description": "UK only (France uses the NAF field in the France section). Empty = all industries. 5 digits for one activity, 2-4 digits for a whole group. Examples: 62 = IT and software, 62012 = software development, 69201 = accountants, 73110 = advertising agencies, 56101 = restaurants, 41202 = building houses, 68 = property. Find your code in the official list: https://resources.companieshouse.gov.uk/sic/",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "frDepartments": {
            "title": "France: départements",
            "type": "array",
            "description": "Départements as numbers. Examples: 33 = Gironde (Bordeaux), 75 = Paris, 69 = Rhône (Lyon), 13 = Bouches-du-Rhône (Marseille), 2A = Corse-du-Sud. Empty = all of France.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "frRegions": {
            "title": "France: regions",
            "type": "array",
            "description": "Region names or codes. Examples: Île-de-France (or 11), Nouvelle-Aquitaine (or 75), Auvergne-Rhône-Alpes (or 84). Empty = all regions.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "nafCodes": {
            "title": "France: industry codes (NAF / APE)",
            "type": "array",
            "description": "French activity codes. Empty = all industries. One code (62.01Z) or a group (62). Examples: 62 = IT, 56 = restaurants and cafés, 47 = shops, 43 = building trades, 70.22Z = business consulting, 73 = advertising. Note: 70.10Z = holding companies and 68 = property companies (SCI), which make up a large share of new French companies. Full list: https://www.insee.fr/fr/information/2406147",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "frDateBasis": {
            "title": "France: which date the period uses",
            "enum": [
              "published",
              "registered"
            ],
            "type": "string",
            "description": "French registrations are published about 9-11 days after the company is created. \"Publication date\" gives a complete list every day with no gaps (best for a weekly or daily schedule). \"Creation date\" filters on the day the company was registered, but the last ~11 days are not complete yet.",
            "default": "published"
          },
          "includeSoleTraders": {
            "title": "France: include sole traders",
            "type": "boolean",
            "description": "Also list people trading under their own name (entreprises individuelles). Off = companies only (SAS, SARL, SA...). Rows are then about individual people (their own name and often their home address): personal data, use with care under the GDPR.",
            "default": false
          },
          "onlyNew": {
            "title": "Skip companies I already received",
            "type": "boolean",
            "description": "Skip companies an earlier run with the same list name already returned (remembered for 120 days after delivery). You do not pay for skipped companies. The list is kept in your Storage, key-value store new-companies-feed-memory.",
            "default": false
          },
          "incremental": {
            "title": "Continue from the last run (checkpoint)",
            "type": "boolean",
            "description": "For a daily or weekly schedule. Each run starts where the previous run of the same list name finished (minus the look-back days below), so no day is missed even if a run fails or hits Max companies. Turns on \"Skip companies I already received\". Start date is only used for the first run. France uses the publication date in this mode.",
            "default": false
          },
          "lookbackDays": {
            "title": "Look-back days",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "Incremental mode: days re-read before the checkpoint, to catch companies a register lists a day or two late. Already-delivered companies are skipped and not billed. Example: 3.",
            "default": 3
          },
          "feedName": {
            "title": "List name",
            "type": "string",
            "description": "Any short name for your list, used by \"Skip companies I already received\". Use a different name for each schedule. Example: leeds-weekly. Names in other alphabets work too (they are stored with a short code added).",
            "default": "default"
          },
          "companiesHouseApiKey": {
            "title": "Companies House API key (optional)",
            "type": "string",
            "description": "Not needed: leave empty and the UK part reads the public Companies House website. If you have a free key from developer.company-information.service.gov.uk, paste it here to use the official Companies House service instead. The key is checked once at the start: a wrong or refused key stops the whole run with a clear message, before anything is billed."
          },
          "maxConcurrency": {
            "title": "Parallel requests",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many pages are read at the same time. Leave at 10. Example: 10.",
            "default": 10
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Leave off. The registers are public and need no proxy. Turn on Apify Proxy only if the run log says requests are blocked.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}