{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Company Scraper & Monitor ($1/1K)",
    "description": "No login or cookies. Get LinkedIn company website, industry, size, exact employee count, HQ address, offices, followers and recent posts. Look up by URL, name or website, find companies that are hiring, add open job counts, and monitor headcount and post changes with Slack or Discord alerts.",
    "version": "0.1",
    "x-build-id": "Z6fTkkuHtDnkwKZfR"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/hydedata~linkedin-company-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-hydedata-linkedin-company-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/hydedata~linkedin-company-scraper/runs": {
      "post": {
        "operationId": "runs-sync-hydedata-linkedin-company-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/hydedata~linkedin-company-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-hydedata-linkedin-company-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",
        "properties": {
          "companies": {
            "title": "LinkedIn company URLs, slugs or IDs",
            "type": "array",
            "description": "One company per line: a LinkedIn company or showcase page URL (https://www.linkedin.com/company/stripe), its slug (stripe), or its numeric ID or URN (2135371, urn:li:organization:2135371). Names and website domains pasted here work too and are looked up.",
            "items": {
              "type": "string"
            }
          },
          "companyNames": {
            "title": "Company names",
            "type": "array",
            "description": "Company names to look up on LinkedIn (e.g. Spring Fertility, Siemens). Each row says how sure the match is (high when exactly one company has that name) and lists other companies the name could mean.",
            "items": {
              "type": "string"
            }
          },
          "websites": {
            "title": "Company websites",
            "type": "array",
            "description": "Website domains or URLs (e.g. clay.com, https://www.notion.so). The Actor finds the LinkedIn page whose website matches, so a list of domains turns into LinkedIn company data.",
            "items": {
              "type": "string"
            }
          },
          "hiringKeywords": {
            "title": "Job keywords",
            "type": "array",
            "description": "Job titles or keywords, as you'd type them on LinkedIn (e.g. data engineer, nurse). Each keyword runs in every location below. Companies hiring for it are collected and scraped.",
            "items": {
              "type": "string"
            }
          },
          "hiringLocations": {
            "title": "Locations",
            "type": "array",
            "description": "Cities, states or countries, as you'd type them on LinkedIn (e.g. Austin, TX or Germany). Leave empty to search worldwide.",
            "items": {
              "type": "string"
            }
          },
          "postedWithin": {
            "title": "Jobs posted within",
            "enum": [
              "any",
              "hour",
              "day",
              "week",
              "month"
            ],
            "type": "string",
            "description": "Only count companies with a job posted in this window. \"Past week\" finds companies hiring right now.",
            "default": "any"
          },
          "maxCompaniesPerSearch": {
            "title": "Max companies per keyword and location",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Upper limit of companies delivered per hiring search.",
            "default": 25
          },
          "includePosts": {
            "title": "Recent posts",
            "type": "boolean",
            "description": "The company's latest posts (about 10): text, date, reactions, comments, images and video. Included at no extra cost.",
            "default": true
          },
          "includeOpenJobs": {
            "title": "Add open jobs (hiring signal)",
            "type": "boolean",
            "description": "Also get how many jobs the company has open on LinkedIn worldwide and its latest 10 (title, location, date, link). LinkedIn rounds big counts (1,000+, 5,000+). Charged per company that gets it.",
            "default": false
          },
          "industries": {
            "title": "Industries",
            "type": "array",
            "description": "Keep companies whose LinkedIn industry contains any of these words (e.g. Software, Hospitals, Financial Services).",
            "items": {
              "type": "string"
            }
          },
          "companySizes": {
            "title": "Company size",
            "type": "array",
            "description": "Keep companies in these LinkedIn size ranges.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2-10",
                "11-50",
                "51-200",
                "201-500",
                "501-1000",
                "1001-5000",
                "5001-10000",
                "10001+"
              ],
              "enumTitles": [
                "1 employee",
                "2-10",
                "11-50",
                "51-200",
                "201-500",
                "501-1,000",
                "1,001-5,000",
                "5,001-10,000",
                "10,001+"
              ]
            }
          },
          "minEmployees": {
            "title": "At least this many employees",
            "minimum": 0,
            "type": "integer",
            "description": "Uses the number of people on LinkedIn who work there, or the size range when the page has no count."
          },
          "maxEmployees": {
            "title": "At most this many employees",
            "minimum": 0,
            "type": "integer",
            "description": "Uses the number of people on LinkedIn who work there, or the size range when the page has no count."
          },
          "headquartersIn": {
            "title": "Headquarters in",
            "type": "array",
            "description": "Keep companies headquartered in any of these: a city, state or country name (e.g. Texas, London), or a two-letter country code (US, DE).",
            "items": {
              "type": "string"
            }
          },
          "companyTypes": {
            "title": "Company type",
            "type": "array",
            "description": "Keep companies of these types.",
            "items": {
              "type": "string",
              "enum": [
                "public",
                "private",
                "nonprofit",
                "partnership",
                "self-employed",
                "self-owned",
                "sole-proprietorship",
                "government",
                "educational"
              ],
              "enumTitles": [
                "Public company",
                "Privately held",
                "Nonprofit",
                "Partnership",
                "Self-employed",
                "Self-owned",
                "Sole proprietorship",
                "Government agency",
                "Educational"
              ]
            }
          },
          "minFollowers": {
            "title": "At least this many followers",
            "minimum": 0,
            "type": "integer",
            "description": "Keep companies with at least this many LinkedIn followers."
          },
          "maxCompanies": {
            "title": "Max companies",
            "minimum": 1,
            "type": "integer",
            "description": "Upper limit of companies delivered by the whole run. Leave empty for no limit."
          },
          "monitorMode": {
            "title": "Monitor mode (changes only)",
            "type": "boolean",
            "description": "Remembers each company from run to run and only outputs the ones that changed, with what changed: headcount, new posts, profile edits. Use with a Schedule. The first run returns every company as the baseline. Companies with no change aren't output and cost a small check fee instead of a full company.",
            "default": false
          },
          "trackChanges": {
            "title": "Changes to watch",
            "type": "array",
            "description": "What counts as a change in monitor mode.",
            "items": {
              "type": "string",
              "enum": [
                "profile",
                "employees",
                "posts",
                "followers",
                "locations"
              ],
              "enumTitles": [
                "Profile (name, tagline, website, industry, size, type, HQ, specialties, description)",
                "Employee count",
                "New posts",
                "Follower count",
                "Offices added or removed"
              ]
            },
            "default": [
              "profile",
              "employees",
              "posts"
            ]
          },
          "minEmployeeChangePercent": {
            "title": "Min employee change (%)",
            "minimum": 0,
            "type": "number",
            "description": "Report employee count changes of at least this percent. 0 reports every change.",
            "default": 1
          },
          "minFollowerChangePercent": {
            "title": "Min follower change (%)",
            "minimum": 0,
            "type": "number",
            "description": "Report follower count changes of at least this percent, when follower count is watched.",
            "default": 5
          },
          "includeUnchanged": {
            "title": "Also output unchanged companies",
            "type": "boolean",
            "description": "In monitor mode, output every company each run, marked changed or unchanged. Every row is charged as a company.",
            "default": false
          },
          "notifyWebhookUrl": {
            "title": "Send results to a webhook (optional)",
            "type": "string",
            "description": "Paste a Discord or Slack incoming webhook URL to get each run's companies as a message. In monitor mode each company says what changed (e.g. Employees 16,694 → 17,020 (+2%), 2 new posts). Any other URL gets the rows as JSON. Only sent when the run delivers something, so quiet monitor runs stay silent."
          },
          "stateStoreName": {
            "title": "Monitor state store name",
            "type": "string",
            "description": "Named key-value store that keeps monitor memory between runs. Use different names to run independent monitors.",
            "default": "linkedin-company-monitor-state"
          },
          "stateRetentionDays": {
            "title": "Forget companies after (days)",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "Companies not checked for this many days are dropped from monitor memory.",
            "default": 90
          },
          "maxConcurrency": {
            "title": "Companies at once",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Company pages fetched at the same time, each on its own proxy IP. Lower it if runs get rate-limited.",
            "default": 10
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify datacenter proxies work for LinkedIn's public company pages. Switch to RESIDENTIAL only if runs keep getting rate-limited.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}