{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Jobs Email Scraper",
    "description": "Scrape LinkedIn jobs with hiring contacts, no login: e-mails and phones written in the job post, the recruiter or hiring manager who posted it, and the hiring company's website e-mails, phones and social links. Find companies that are hiring right now and reach them directly.",
    "version": "0.1",
    "x-build-id": "i611SKnVeACh0ZWny"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/blueskyscraper~linkedin-jobs-email-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-blueskyscraper-linkedin-jobs-email-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/blueskyscraper~linkedin-jobs-email-scraper/runs": {
      "post": {
        "operationId": "runs-sync-blueskyscraper-linkedin-jobs-email-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/blueskyscraper~linkedin-jobs-email-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-blueskyscraper-linkedin-jobs-email-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": {
          "keywords": {
            "title": "🔍 Job titles or keywords",
            "type": "array",
            "description": "What you would type into LinkedIn's job search: <code>data analyst</code>, <code>python developer</code>, <code>nurse</code>. Each keyword is searched in each location.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "📍 Locations",
            "type": "array",
            "description": "City, region or country as LinkedIn spells it: <code>New York, NY</code>, <code>London, England, United Kingdom</code>, <code>Germany</code>, <code>Worldwide</code>. Empty = LinkedIn's default (worldwide).",
            "items": {
              "type": "string"
            }
          },
          "companies": {
            "title": "🏢 Companies",
            "type": "array",
            "description": "Optional: jobs of these companies only — LinkedIn company URL, numeric ID or name.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "🔗 LinkedIn search URLs",
            "type": "array",
            "description": "Paste a LinkedIn job search link with your filters already set (<code>https://www.linkedin.com/jobs/search/?keywords=designer&location=Berlin&f_TPR=r604800</code>). Job links and company links pasted here work too.",
            "items": {
              "type": "string"
            }
          },
          "maxJobsPerQuery": {
            "title": "💯 Jobs per search",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Cap for each keyword × location pair, each company and each search URL — not for the whole run. LinkedIn shows at most about 1,000 jobs per search; split big searches by location or date to get more.",
            "default": 100
          },
          "datePosted": {
            "title": "📅 Posted within",
            "enum": [
              "any",
              "hour",
              "day",
              "week",
              "month"
            ],
            "type": "string",
            "description": "LinkedIn's own date filter.",
            "default": "any"
          },
          "workplaceTypes": {
            "title": "🏠 Workplace",
            "type": "array",
            "description": "On-site, remote, hybrid — any combination. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "onsite",
                "remote",
                "hybrid"
              ],
              "enumTitles": [
                "On-site",
                "Remote",
                "Hybrid"
              ]
            }
          },
          "jobTypes": {
            "title": "⏱️ Job types",
            "type": "array",
            "description": "Empty = all job types.",
            "items": {
              "type": "string",
              "enum": [
                "fulltime",
                "parttime",
                "contract",
                "temporary",
                "internship",
                "volunteer",
                "other"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Temporary",
                "Internship",
                "Volunteer",
                "Other"
              ]
            }
          },
          "experience": {
            "title": "🎓 Experience level",
            "type": "array",
            "description": "Empty = all levels.",
            "items": {
              "type": "string",
              "enum": [
                "internship",
                "entry",
                "associate",
                "mid",
                "director",
                "executive"
              ],
              "enumTitles": [
                "Internship",
                "Entry level",
                "Associate",
                "Mid-Senior level",
                "Director",
                "Executive"
              ]
            }
          },
          "radius": {
            "title": "📏 Distance from location (miles)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "LinkedIn's distance filter around a city: <code>5</code>, <code>10</code>, <code>25</code>, <code>50</code> or <code>100</code>. Empty = LinkedIn's default."
          },
          "easyApplyOnly": {
            "title": "⚡ Easy Apply jobs only",
            "type": "boolean",
            "description": "Only jobs you apply to on LinkedIn itself.",
            "default": false
          },
          "under10ApplicantsOnly": {
            "title": "🌱 Fewer than 10 applicants",
            "type": "boolean",
            "description": "LinkedIn's \"Under 10 applicants\" filter: fresh jobs few people applied to.",
            "default": false
          },
          "excludeCompanies": {
            "title": "🚫 Skip companies",
            "type": "array",
            "description": "Leave out jobs whose company name contains any of these words — e.g. staffing agencies: <code>Jobot</code>, <code>Robert Half</code>. Skipped jobs are free.",
            "items": {
              "type": "string"
            }
          },
          "enrichCompanyContacts": {
            "title": "🌐 Company website contacts ($ $0.008 per company found)",
            "type": "boolean",
            "description": "Open each hiring company's LinkedIn page, take its website and read the home and contact pages: e-mails, phones and social links. Charged once per company, only when an e-mail or phone was found.",
            "default": true
          },
          "maxCompaniesToEnrich": {
            "title": "Companies to look up per run",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Ceiling for the company website lookup — each company is looked up once per run.",
            "default": 100
          },
          "includeCompanyDetails": {
            "title": "🏢 Company details (free)",
            "type": "boolean",
            "description": "Read each hiring company's LinkedIn page once per run and add its website and domain, industry, size, employees on LinkedIn, followers, headquarters, founded year, type, specialties, description and tagline to every job row. Free — no extra charge.",
            "default": true
          },
          "includeDescriptionHtml": {
            "title": "Description as HTML too",
            "type": "boolean",
            "description": "Add <code>descriptionHtml</code> with LinkedIn's formatting (lists, bold).",
            "default": false
          },
          "onlyNewJobsStoreName": {
            "title": "🔔 Only new jobs — name this search",
            "type": "string",
            "description": "Give the search a name (e.g. <code>nyc-data-jobs</code>) and every later run with the same name returns <b>only jobs it has not delivered before</b>. Schedule it daily for a job alert. Empty = normal run."
          },
          "maxItems": {
            "title": "Maximum jobs per run",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stop after this many jobs in the whole run — a hard ceiling on cost.",
            "default": 20000
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Leave as is: the Actor picks its own routes to LinkedIn. With your own proxy URLs, only those are used.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}