{
  "openapi": "3.0.1",
  "info": {
    "title": "🗂️ LinkedIn Mass Company Profile Finder By Category Directory",
    "description": "LinkedIn Mass Company Profile Finder discovers and extracts public LinkedIn company profiles in bulk using company names or keywords. Collect company URLs, industries, employee sizes, headquarters, websites, follower counts, and more.",
    "version": "0.1",
    "x-build-id": "iaeu4jkt9zbQxRCRt"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scraper-engine~linkedin-mass-company-profile-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scraper-engine-linkedin-mass-company-profile-finder",
        "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/scraper-engine~linkedin-mass-company-profile-finder/runs": {
      "post": {
        "operationId": "runs-sync-scraper-engine-linkedin-mass-company-profile-finder",
        "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/scraper-engine~linkedin-mass-company-profile-finder/run-sync": {
      "post": {
        "operationId": "run-sync-scraper-engine-linkedin-mass-company-profile-finder",
        "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": {
          "urls": {
            "title": "🔍 Keywords / Company Names / Domains (optional)",
            "type": "array",
            "description": "📝 **Optional — the original search mode.** Any list of search keywords: domains (`alma.fr`), exact company names (`\"Acme Corp\"`), brand + qualifier (`\"Stripe\" payments`), or plain text. Each line is searched independently and works exactly like before. You can use this alone, combine it with the category/location discovery below, or leave it empty and rely only on directory discovery.\n\n💡 **Tips:**\n• One keyword per line\n• Use quotes for exact-match phrases\n• Bulk input fully supported",
            "items": {
              "type": "string"
            }
          },
          "directoryCategories": {
            "title": "🏷️ Business Categories / Trades",
            "type": "array",
            "description": "📂 The kind(s) of business to discover, e.g. `plumbers`, `law firms`, `dental clinics`, `HVAC contractors`. Each category is combined with every location below into its own discovery query.",
            "items": {
              "type": "string"
            }
          },
          "directoryLocations": {
            "title": "📍 Locations",
            "type": "array",
            "description": "🌎 The location(s) to search in, e.g. `Austin, TX`, `Chicago, IL`. Each location is combined with every category above.\n\nExample: 2 categories × 2 locations = 4 discovery queries, each surfacing up to `Max Businesses Per Query` companies.",
            "items": {
              "type": "string"
            }
          },
          "resolveDirectoryToLinkedIn": {
            "title": "🔗 Resolve Discovered Businesses To LinkedIn",
            "type": "boolean",
            "description": "✅ When ON (default), every business discovered from the directory is automatically searched for a matching LinkedIn company page (same mechanism as the keyword mode above). When OFF, you only get the discovered business names/contacts with no LinkedIn lookup — faster and cheaper if you just want the raw business list.",
            "default": true
          },
          "maxBusinessesPerQuery": {
            "title": "🔢 Max Businesses Per Category+Location",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "📈 How many distinct businesses to collect per category+location combination. Higher values crawl more directory result pages. Default: 20.",
            "default": 20
          },
          "maxLinkedInMatchesPerName": {
            "title": "📊 Max LinkedIn Matches Per Name",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "🔢 Maximum number of distinct LinkedIn company URLs to collect **per keyword or per discovered business name**, combined across both search engines. Applies to both pipelines. Default: 30.",
            "default": 30
          },
          "concurrentSearchWorkers": {
            "title": "🧵 Concurrent Workers",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "⚙️ How many keywords / directory queries are processed at the same time. Higher = faster runs but more request volume; lower = gentler. Default: 3.",
            "default": 3
          },
          "searchRetryAttempts": {
            "title": "🔁 Search-Engine Retry Attempts",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "🔂 How many extra attempts each search engine gets on a name before the actor escalates to the next proxy tier. Default: 2.",
            "default": 2
          },
          "proxyConfiguration": {
            "title": "🛡️ Proxy Configuration",
            "type": "object",
            "description": "🔒 Default: no proxy for the keyword/search-engine pipeline (saves cost); it automatically escalates to Datacenter → Residential (3 retries) if blocked, and the chosen tier sticks for the rest of the run. You can pre-configure Apify proxy here to start with one."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}