{
  "openapi": "3.0.1",
  "info": {
    "title": "F6S Scraper $1💰 Funding, Accelerators, Events & Jobs",
    "description": "Extract structured data from F6S.com. Scrape funding programs, startup accelerators, events, and jobs from a single tool. Supports both filter-based searches and F6S URLs, returns 25+ fields per record, and works on all Apify plans.",
    "version": "1.1",
    "x-build-id": "zvwmqSFLXzcGyHSqv"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/abotapi~f6s-directory-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-abotapi-f6s-directory-scraper",
        "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/abotapi~f6s-directory-scraper/runs": {
      "post": {
        "operationId": "runs-sync-abotapi-f6s-directory-scraper",
        "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/abotapi~f6s-directory-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-abotapi-f6s-directory-scraper",
        "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",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "url"
            ],
            "type": "string",
            "description": "How to start the scrape. 'search' builds list URLs from the filters below. 'url' takes the exact F6S list URLs you paste.",
            "default": "search"
          },
          "listType": {
            "title": "List type",
            "enum": [
              "programs",
              "accelerators",
              "events",
              "jobs"
            ],
            "type": "string",
            "description": "Which F6S directory to scrape in search mode.",
            "default": "programs"
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Optional place to narrow results: a city or country name such as 'London', 'New York', 'Europe', or 'London, United Kingdom' (a URL slug like 'new-york' also works). Leave empty for worldwide. An unrecognised place stops the run with a clear message."
          },
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "Optional free-text keyword, for example 'ai', 'fintech', 'climate'."
          },
          "programType": {
            "title": "Program type",
            "enum": [
              "any",
              "accelerator",
              "incubator",
              "grant",
              "competition",
              "fellowship"
            ],
            "type": "string",
            "description": "Narrow programs to a subtype. Only applies when list type is Programs or Accelerators.",
            "default": "any"
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "Optional country name, for example 'United Kingdom'. In search mode it narrows to that country (the site's own country list; Location wins when both are set) and results are also checked client-side. Applies in URL mode as a client-side filter."
          },
          "stage": {
            "title": "Stage",
            "enum": [
              "",
              "Pre-Seed",
              "Seed",
              "Series A",
              "Series B",
              "Series C",
              "Growth"
            ],
            "type": "string",
            "description": "Optional startup stage the program targets. The site has no stage filter, so this keeps records whose description, tags or name mention the stage (best with Fetch details on).",
            "default": ""
          },
          "sector": {
            "title": "Sector",
            "type": "string",
            "description": "Optional sector or industry keyword such as 'fintech'. Sent to the site as a keyword filter (the Keyword field wins if both are set)."
          },
          "deadlineOnly": {
            "title": "Only with an application deadline",
            "type": "boolean",
            "description": "Keep only records that show an application deadline.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "open",
              "popular",
              "closest"
            ],
            "type": "string",
            "description": "Result ordering.",
            "default": "open"
          },
          "minInvestment": {
            "title": "Min investment (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only keep programs offering at least this much per team."
          },
          "maxInvestment": {
            "title": "Max investment (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only keep programs offering at most this much per team."
          },
          "maxEquity": {
            "title": "Max equity (%)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Only keep programs that take at most this much equity."
          },
          "urls": {
            "title": "F6S list URLs",
            "type": "array",
            "description": "Paste F6S URLs: list pages (programs, accelerators, events, jobs; any location, filter or ?page=N) or a single program/organisation page (https://www.f6s.com/<slug> or .../about, returned as one record). Left untouched, with the default Max records this scrapes at least one record from every supported shape. Filter fields above are ignored. Pagination starts at the page in the URL and walks forward.",
            "default": [
              "https://www.f6s.com/accelerators",
              "https://www.f6s.com/programs",
              "https://www.f6s.com/programs/london",
              "https://www.f6s.com/programs/united-kingdom/london",
              "https://www.f6s.com/programs/united-kingdom/london/software",
              "https://www.f6s.com/accelerators/london",
              "https://www.f6s.com/events",
              "https://www.f6s.com/events/london",
              "https://www.f6s.com/jobs",
              "https://www.f6s.com/jobs/london",
              "https://www.f6s.com/accelerators?page=2",
              "https://www.f6s.com/programs/london?page=2",
              "https://www.f6s.com/programs?keywords[]=ai&type[]=grant&sort=popular",
              "https://www.f6s.com/programs?type[]=grant",
              "https://www.f6s.com/blacknight-space-labs-w27-cohort",
              "https://www.f6s.com/blacknight-space-labs-w27-cohort/about",
              "https://www.f6s.com/startupbootcamp"
            ],
            "items": {
              "type": "string"
            }
          },
          "fetchDetails": {
            "title": "Fetch full details (richer records, extra cost)",
            "type": "boolean",
            "description": "Open each profile's About page to add full description, funding amount, website, social links and team. Adds one HTTP request per record.",
            "default": false
          },
          "maxPages": {
            "title": "Max pages per list",
            "minimum": 0,
            "type": "integer",
            "description": "How many result pages to walk per list URL. 0 = unlimited (walk the whole list until it naturally runs out of new results). Max records is the setting that bounds a run by default.",
            "default": 0
          },
          "maxListings": {
            "title": "Max records",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stop after this many records. This is the main limit on a run (0 = unlimited, walks the whole catalogue).",
            "default": 20
          },
          "proxy": {
            "title": "Proxy",
            "type": "object",
            "description": "Network connection. This site requires a Residential connection, which is preselected. Datacenter and other connection types are blocked by the site and will not work.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          },
          "resumeFromRunId": {
            "title": "Resume from run/dataset ID",
            "type": "string",
            "description": "Paste a previous run ID (or its dataset ID) to continue that run: records already saved there are skipped, so this run only returns new records (a delta). Leave empty for a normal run. For a recurring/scheduled search, use Incremental mode below instead, it remembers the previous run itself, without pasting an id every time."
          },
          "incrementalMode": {
            "title": "Incremental mode (recurring monitoring)",
            "type": "boolean",
            "description": "For a search/list you run on a schedule (daily, weekly): the actor remembers the records it saw last time (in a dedicated key-value store, keyed by this search) and, by default, only returns records that are NEW, UPDATED or REAPPEARED. Compared: every returned field (name, location, tags, deadline, investment, description, team, ...). Excluded: scrapedAt, sourceUrl, image host/query and the order of tags/team/social links, plus any field you list in 'Ignore fields' below. Unlike Resume above, you never need to paste a run or dataset id, it tracks itself. Off by default: a normal run always returns every matching record.",
            "default": false
          },
          "stateKey": {
            "title": "State key (Incremental mode only)",
            "type": "string",
            "description": "Optional label for the tracked search when Incremental mode is on, e.g. 'ai-accelerators-london'. Leave empty to let the actor derive one automatically from your search/URL filters, two different searches never share a baseline either way. Set this if you want a stable, human-readable name, or want to run the exact same search twice as two separate monitoring campaigns."
          },
          "emitUnchanged": {
            "title": "Also return unchanged records (Incremental mode only)",
            "type": "boolean",
            "description": "When Incremental mode is on, also return records with no changes since last time (changeType 'UNCHANGED'), not just NEW/UPDATED/REAPPEARED. Off by default. Returning unchanged rows bills like any other record, turn this on only if you need the full current snapshot every run, not just what changed.",
            "default": false
          },
          "emitExpired": {
            "title": "Also return records no longer found (Incremental mode only)",
            "type": "boolean",
            "description": "When Incremental mode is on AND this run scans the search to its natural end (no Max records/Max pages cap reached, no Resume from a previous run), also return one row per previously-seen record no longer found (changeType 'EXPIRED'), using its last-known data. Off by default. Returning expired rows bills like any other record.",
            "default": false
          },
          "ignoreFieldsForChanges": {
            "title": "Ignore fields when detecting changes (incremental mode only)",
            "type": "array",
            "description": "Incremental mode only: field names that must NOT make a record UPDATED or appear in changedFields, e.g. 'deadline' or 'investmentRaw'. Use a dotted path for a nested field, e.g. 'team.image'. The fields are still returned in the output. Already ignored automatically: scrapedAt, sourceUrl, and the image host/query (only the image path is compared). Leave empty to compare every other field.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "mcpConnectors": {
            "title": "Pipe results into your apps (optional)",
            "type": "array",
            "description": "Optionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON, the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com)."
          },
          "notionParentPageUrl": {
            "title": "Notion parent page (Notion connector only)",
            "type": "string",
            "description": "URL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors."
          },
          "maxNotifyListings": {
            "title": "Max items to export per connector",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Cap on items written to each connector per run. Does not affect the dataset.",
            "default": 50
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}