{
  "openapi": "3.0.1",
  "info": {
    "title": "DevFest.cz Sponsor Prospector",
    "description": "Finds companies likely to sponsor DevFest.cz, based on the developer-recruitment and employer-branding patterns seen in past editions' sponsor lists. Ranks each candidate with a plain-English reason for the match.",
    "version": "0.0",
    "x-build-id": "WN1MzdymOYoAhpxx7"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/kat_raszka~devfest-partners-actor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-kat_raszka-devfest-partners-actor",
        "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/kat_raszka~devfest-partners-actor/runs": {
      "post": {
        "operationId": "runs-sync-kat_raszka-devfest-partners-actor",
        "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/kat_raszka~devfest-partners-actor/run-sync": {
      "post": {
        "operationId": "run-sync-kat_raszka-devfest-partners-actor",
        "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": {
          "regions": {
            "title": "Target regions",
            "type": "array",
            "description": "Geographic phrases to combine with the search patterns below, e.g. \"Czech Republic\" or \"Prague\". More regions = more search queries = higher run cost.",
            "default": [
              "Czech Republic"
            ],
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Sponsor-fit categories to search for",
            "type": "array",
            "description": "Based on analysis of past DevFest.cz sponsors (2019/2025/2026 editions), sponsorship there is driven by developer-recruitment and employer-branding, not general product marketing. Pick which sponsor archetypes to prospect for.",
            "items": {
              "type": "string",
              "enum": [
                "devShops",
                "saasTools",
                "recruitment",
                "enterprise"
              ],
              "enumTitles": [
                "Software dev shops & IT services (employer branding)",
                "SaaS & developer-tool platforms",
                "Recruitment / job platforms targeting developers",
                "Large enterprises with active tech-hiring arms"
              ]
            },
            "default": [
              "devShops",
              "saasTools",
              "recruitment",
              "enterprise"
            ]
          },
          "customQueries": {
            "title": "Custom search queries (optional)",
            "type": "array",
            "description": "Extra free-form Google search queries to run in addition to the category templates above, e.g. \"fintech startup Prague hiring developers\".",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeKnownSponsors": {
            "title": "Exclude past sponsors (2019/2025/2026, built-in snapshot)",
            "type": "boolean",
            "description": "Filters out domains of companies that were already Platinum/Diamond/Gold/Silver/media partners in the 2019, 2025, or 2026 editions, based on a hardcoded snapshot taken when this Actor was built.",
            "default": true
          },
          "excludeCurrentPartners": {
            "title": "Exclude current partners (live from devfest.cz/partners)",
            "type": "boolean",
            "description": "Fetches https://devfest.cz/partners at run time and excludes every partner listed there right now, so results always reflect the latest sponsor roster even if it has changed since this Actor was built.",
            "default": true
          },
          "excludeDomains": {
            "title": "Additional domains to exclude",
            "type": "array",
            "description": "Extra domains to skip in the results (e.g. your own company, competitors already contacted).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxPagesPerQuery": {
            "title": "Max Google result pages per query",
            "minimum": 1,
            "maximum": 3,
            "type": "integer",
            "description": "Each page is ~10 organic results. Higher values find more candidates but cost more (billed by the search Actor per page scraped).",
            "default": 1
          },
          "maxResults": {
            "title": "Max companies to return",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Caps the final, ranked output list.",
            "default": 50
          },
          "findContacts": {
            "title": "Find a LinkedIn contact per company",
            "type": "boolean",
            "description": "For the top-ranked companies, searches LinkedIn (via harvestapi/linkedin-company-employees) for a likely sponsorship contact in Marketing, Employer Branding, HR, DevRel, or Community. Adds extra cost and retrieves personal data (name, title, LinkedIn profile URL) - only enable this if you have a legitimate business reason (e.g. sponsorship outreach) and are comfortable with the linked Actor's data-collection practices and LinkedIn's terms.",
            "default": false
          },
          "contactJobTitles": {
            "title": "Contact job titles to search for",
            "type": "array",
            "description": "Job titles/keywords used to filter LinkedIn employees when \"Find a LinkedIn contact per company\" is on. Broad, short terms tend to match more real-world titles than long specific phrases. Edit to widen or narrow the search.",
            "default": [
              "Marketing",
              "Employer Branding",
              "HR",
              "Human Resources",
              "People",
              "Talent Acquisition",
              "Recruiting",
              "Developer Relations",
              "DevRel",
              "Developer Advocate",
              "Community"
            ],
            "items": {
              "type": "string"
            }
          },
          "maxCompaniesForContactSearch": {
            "title": "Max companies to search for a contact",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many of the top-ranked companies to run the LinkedIn contact search for. Capped at 20 so the search stays in the LinkedIn Actor's cheaper \"all at once\" batch mode (a single search covering all companies at once) rather than the pricier per-company mode.",
            "default": 10
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}