{
  "openapi": "3.0.1",
  "info": {
    "title": "Talent.com Jobs Scraper & API - Salary, Company, No API Key",
    "description": "Scrape Talent.com job listings and salary data across 30 country sites by keyword, location or URL. No login or API key. Get title, company, salary, employment type, remote flag, geo, apply link, source board and full description. Filter by salary, date, type. Export JSON, CSV, Excel.",
    "version": "0.1",
    "x-build-id": "jJ5ccVQbAymPde3ve"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapers_lat~talent-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapers_lat-talent-jobs-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/scrapers_lat~talent-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapers_lat-talent-jobs-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/scrapers_lat~talent-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapers_lat-talent-jobs-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": {
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "Job title, skill or company to search for (e.g. \"developer\", \"nurse\", \"marketing manager\"). Aliases: query, searchQuery, search."
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, region or country to search in (e.g. \"New York\", \"Toronto\", \"London\"). Leave empty to search the whole country."
          },
          "country": {
            "title": "Country Site",
            "enum": [
              "us",
              "ca",
              "uk",
              "au",
              "ie",
              "in",
              "sg",
              "ph",
              "za",
              "nz",
              "mx",
              "br",
              "ar",
              "cl",
              "co",
              "pe",
              "es",
              "fr",
              "de",
              "it",
              "nl",
              "pt",
              "be",
              "ch",
              "at",
              "se",
              "no",
              "dk",
              "fi",
              "pl"
            ],
            "type": "string",
            "description": "Talent.com country site to search on. Each country has its own job inventory. The residential proxy is matched to this country automatically.",
            "default": "us"
          },
          "radius": {
            "title": "Search radius (km/mi)",
            "minimum": 1,
            "type": "integer",
            "description": "Optional. Expand the location search to this radius (Talent.com's native radius). Only used with a location."
          },
          "startUrls": {
            "title": "Start URLs (search pages)",
            "type": "array",
            "description": "Optional. Paste one or more Talent.com search-result URLs (for example https://www.talent.com/jobs?k=nurse&l=Boston). Each is paginated and scraped. Overrides keyword when set.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "jobUrls": {
            "title": "Job URLs (single postings)",
            "type": "array",
            "description": "Optional. Paste one or more Talent.com job-page URLs (https://www.talent.com/view?id=...) to scrape those postings directly, skipping search.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxJobs": {
            "title": "Max jobs",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of jobs to collect. Aliases: maxItems, maxResults. Optional."
          },
          "maxPages": {
            "title": "Max pages per search",
            "minimum": 1,
            "type": "integer",
            "description": "Optional. Cap how many result pages to paginate per search. Default 200."
          },
          "withDetails": {
            "title": "Fetch Full Details",
            "type": "boolean",
            "description": "When enabled, the scraper opens each job page to collect the full description (text + HTML), employment type, structured location with lat/lng, salary and apply URL. When disabled, only listing-level fields are returned.",
            "default": true
          },
          "remoteOnly": {
            "title": "Remote only",
            "type": "boolean",
            "description": "Optional. Return only jobs detected as remote / telecommute. Works best with details on. Alias: remoteFilter.",
            "default": false
          },
          "employmentType": {
            "title": "Employment type filter",
            "type": "string",
            "description": "Optional. Keep only jobs whose contract type contains this text (for example 'Full-time', 'Contractor', 'Internship'). Alias: jobType. Works best with details on."
          },
          "minSalary": {
            "title": "Minimum salary",
            "minimum": 1,
            "type": "integer",
            "description": "Optional. Keep only jobs whose posted salary (max, else min) is at least this amount. Only applies to jobs that publish a salary. Works best with details on."
          },
          "postedWithinDays": {
            "title": "Posted within days",
            "minimum": 1,
            "type": "integer",
            "description": "Optional. Keep only jobs posted within this many days (applied both as Talent.com's native recency filter and on the parsed posted date). Aliases: datePosted, daysOld."
          },
          "descriptionMaxLength": {
            "title": "Description max length",
            "minimum": 1,
            "type": "integer",
            "description": "Optional. Truncate the description and descriptionHtml fields to this many characters to keep records small."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional. Override the proxy. By default an Apify Residential proxy matched to the country site is used, which Talent.com requires. Datacenter proxies are often blocked.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}