{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Jobs Scraper | AI Enrichment",
    "description": "Get up to 1,000 LinkedIn jobs per run with full descriptions and original links. Skip repeat jobs for alerts, job boards, and spreadsheets. Add AI enrichment and English translation when needed.",
    "version": "1.0",
    "x-build-id": "Pny0KQh791X7UJ9nq"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/job-atlas~linkedin-enrich-translate-normalize-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-job-atlas-linkedin-enrich-translate-normalize-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/job-atlas~linkedin-enrich-translate-normalize-scraper/runs": {
      "post": {
        "operationId": "runs-sync-job-atlas-linkedin-enrich-translate-normalize-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/job-atlas~linkedin-enrich-translate-normalize-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-job-atlas-linkedin-enrich-translate-normalize-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": [
          "schemaVersion"
        ],
        "properties": {
          "firstRunMode": {
            "title": "First-run mode",
            "type": "boolean",
            "description": "Try up to five jobs with Silver AI enrichment and translate selected fields to English. Paid extras apply. Keeps your search and filters; disables deduplication and analytics and omits descriptions. Turn off to use your own settings.",
            "default": false
          },
          "keyword": {
            "title": "Job keyword",
            "type": "string",
            "description": "Job title or skill, such as software engineer or Python. Leave empty to search all roles in your chosen location."
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, region, or country, such as London, Spain, or European Union. Leave empty for worldwide results."
          },
          "postedWithin": {
            "title": "Posted within",
            "enum": [
              "1h",
              "24h",
              "7d",
              "30d",
              "any"
            ],
            "type": "string",
            "description": "Choose how recent the jobs should be. Any time removes this filter.",
            "default": "24h"
          },
          "orderBy": {
            "title": "Result order",
            "enum": [
              "newest",
              "oldest"
            ],
            "type": "string",
            "description": "Sort matching jobs by posting date. Jobs with unknown dates appear last.",
            "default": "newest"
          },
          "workArrangements": {
            "title": "Work arrangements",
            "uniqueItems": true,
            "type": "array",
            "description": "Select remote, hybrid, on-site, or a combination. Leave empty for all. A matching search may return jobs whose individual arrangement is unknown; explicitly conflicting arrangements are excluded.",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "hybrid",
                "onsite"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "On-site"
              ]
            }
          },
          "linkedinSearch": {
            "title": "Multiple searches (advanced)",
            "required": [
              "schemaVersion"
            ],
            "type": "object",
            "description": "Combine up to eight keyword/location searches and remove duplicate jobs. Leave empty to use the main search. Clear the main keyword and location when supplying multiple searches.",
            "properties": {
              "schemaVersion": {
                "title": "Search format version",
                "description": "Keep the supported search format version.",
                "type": "string",
                "default": "nomad-agent-linkedin-search-v2",
                "enum": [
                  "nomad-agent-linkedin-search-v2"
                ]
              },
              "searches": {
                "title": "Searches",
                "type": "array",
                "description": "Up to eight role/location pairs. List order sets search priority; Result order sets the final output order.",
                "maxItems": 8,
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "keyword",
                    "location"
                  ],
                  "properties": {
                    "keyword": {
                      "title": "Keyword",
                      "description": "Job title or skill for this search.",
                      "type": "string"
                    },
                    "location": {
                      "title": "Location",
                      "description": "City, region, or country for this search.",
                      "type": "string"
                    }
                  }
                }
              }
            },
            "additionalProperties": false
          },
          "filters": {
            "title": "Job filters (advanced)",
            "type": "object",
            "description": "Filter job fields with AND/OR rules. Filters use original-language values and any supported facts added by AI. Use the JSON example to start.",
            "properties": {
              "schemaVersion": {
                "title": "Filter format version",
                "description": "Keep the supported filter format version.",
                "type": "string",
                "enum": [
                  "nomad-agent-job-filter-v1"
                ]
              },
              "expression": {
                "title": "Filter rules",
                "description": "Combine supported job-field conditions using all, any, or not. See the JSON example.",
                "type": "object"
              }
            },
            "additionalProperties": false
          },
          "strictGeography": {
            "title": "Exact location filters",
            "required": [
              "schemaVersion"
            ],
            "type": "object",
            "description": "Require a country, region, or city confirmed by the source. All conditions must match the same location. Jobs with unknown locations are excluded by default; you can choose to stop the run instead.",
            "properties": {
              "schemaVersion": {
                "title": "Location format version",
                "description": "Keep the supported location-filter format version.",
                "type": "string",
                "enum": [
                  "nomad-agent-linkedin-strict-geography-v1"
                ]
              },
              "countries": {
                "title": "Countries",
                "description": "Two-letter country codes, such as ES or DE. Set at least one country, region, or city.",
                "type": "array",
                "maxItems": 25,
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "pattern": "^[A-Z]{2}$"
                }
              },
              "regions": {
                "title": "Regions",
                "description": "Region names as shown by the source, ignoring letter case. Must match the same location as other conditions.",
                "type": "array",
                "maxItems": 25,
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "cities": {
                "title": "Cities",
                "description": "City names as shown by the source, ignoring letter case. Must match the same location as other conditions.",
                "type": "array",
                "maxItems": 25,
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "unknownPolicy": {
                "title": "When location is unknown",
                "description": "Exclude jobs without enough location evidence, or stop the run.",
                "type": "string",
                "enum": [
                  "exclude",
                  "abort"
                ]
              }
            },
            "additionalProperties": false
          },
          "companyProfileEnrichment": {
            "title": "Add company details",
            "type": "boolean",
            "description": "Add available facts from the public company page linked to a job. No separate event charge. If the page is unavailable, keep the job without company details unless company filters apply.",
            "default": false
          },
          "companyFilters": {
            "title": "Company filters (advanced)",
            "required": [
              "schemaVersion",
              "expression"
            ],
            "type": "object",
            "description": "Filter by company facts. Requires Add company details. Unavailable or unverified profiles are excluded by default, even for missing-field checks; choose abort to stop the run instead.",
            "properties": {
              "schemaVersion": {
                "title": "Company filter version",
                "description": "Keep the supported company-filter format version.",
                "type": "string",
                "enum": [
                  "nomad-agent-linkedin-company-filter-v1"
                ]
              },
              "expression": {
                "title": "Company filter rules",
                "description": "Combine supported company-field conditions using all, any, or not. See the JSON example.",
                "type": "object"
              },
              "unknownPolicy": {
                "title": "When a profile is unavailable",
                "description": "Exclude the job, or stop the run. A verified profile with a missing field is still evaluated normally.",
                "type": "string",
                "enum": [
                  "exclude",
                  "abort"
                ]
              }
            },
            "additionalProperties": false
          },
          "aiEnrichment": {
            "title": "AI enrichment",
            "required": [
              "enabled",
              "accuracy"
            ],
            "type": "object",
            "description": "Fill supported missing fields from the description. Source facts are preserved. AI-filled fields can affect job filters. Failed enrichment leaves the base data unchanged. Paid extra; see Pricing. No API key needed.",
            "properties": {
              "enabled": {
                "title": "Enable AI enrichment",
                "description": "Fill supported missing job details from the description.",
                "type": "boolean",
                "editor": "checkbox",
                "default": false,
                "prefill": false
              },
              "accuracy": {
                "title": "AI tier",
                "description": "Silver is standard. Gold adds a second check. Choose Gold only when it appears in the current Pricing table.",
                "type": "string",
                "editor": "select",
                "default": "silver",
                "prefill": "silver",
                "enum": [
                  "silver",
                  "gold"
                ],
                "enumTitles": [
                  "Silver — standard",
                  "Gold — additional validation"
                ]
              }
            },
            "default": {
              "enabled": false,
              "accuracy": "silver"
            },
            "additionalProperties": false
          },
          "translateToEnglish": {
            "title": "Translate selected fields to English",
            "type": "boolean",
            "description": "Translate selected fields, including titles, requirements, and benefits. Descriptions, company names, locations, skills, qualifications, certifications, programme names, IDs, URLs, source labels, and AI metadata stay unchanged. Paid extra; see Pricing. No translation key needed.",
            "default": false
          },
          "includeRaw": {
            "title": "Include descriptions",
            "type": "boolean",
            "description": "Include full description text and HTML in raw. Turn off for smaller exports; AI enrichment still works. First-run mode omits descriptions.",
            "default": true
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Return up to this many jobs, with a maximum of 1,000 per run. Set 0 to request 1,000. First-run mode caps results at five. Large searches take longer; filters and budget may reduce the count.",
            "default": 100
          },
          "dedupe": {
            "title": "Skip previously returned jobs",
            "required": [
              "enabled"
            ],
            "type": "object",
            "description": "Avoid repeat jobs in recurring searches. An empty key keeps each search separate. A named key shares history across searches using that key within your account. Turn off for repeatable one-off searches.",
            "properties": {
              "enabled": {
                "title": "Skip repeat jobs",
                "type": "boolean",
                "description": "Skip jobs already delivered for this search or alert.",
                "editor": "checkbox",
                "default": true,
                "prefill": true
              },
              "key": {
                "title": "Alert key (optional)",
                "type": "string",
                "description": "Leave empty for separate history per search. Reuse a named key to share history across searches within your account. Use different keys for separate alerts. This is not a secret.",
                "editor": "textfield",
                "default": "default",
                "prefill": "default",
                "maxLength": 256
              }
            },
            "default": {
              "enabled": true,
              "key": "default"
            },
            "additionalProperties": false
          },
          "analyticsEnabled": {
            "title": "Share anonymous run statistics",
            "type": "boolean",
            "description": "Optionally share aggregate run statistics to help improve reliability. Excludes account and run IDs, searches, job data, URLs, credentials, and persistent caller identifiers.",
            "default": false
          },
          "schemaVersion": {
            "title": "Input format version",
            "enum": [
              "nomad-agent-job-search-input-v1"
            ],
            "type": "string",
            "description": "Keep this value unchanged. It identifies the input format expected by the Actor.",
            "default": "nomad-agent-job-search-input-v1"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}