ATS Jobs API

Vagas abertas nas empresas que você indicar, lidas ao vivo do Greenhouse, Lever, Ashby, Workday e mais 18 quadros de empregos. US$ 0,01 por empresa, cobrado na sua conta Apify.

Servidor MCP hospedado

npx add-mcp 'https://mcp.apify.com?tools=conserving_celerytop/live-career-page-jobs-api'

Instala no Claude Code, Codex, Cursor e outros

Documentação

Raspador de Vagas de Carreiras e API de Vagas ATS: Greenhouse, Lever +20 (conserving_celerytop/live-career-page-jobs-api) Actor

Raspador de vagas de páginas de carreiras e API de vagas ATS: todas as vagas abertas nas empresas que você indicar, lidas ao vivo do Greenhouse, Lever, Ashby, Workday e mais 18 quadros de empregos. Pague por empresa, com até 1.000 vagas incluídas. Alertas de novas vagas no Slack. Pronto para MCP. Sem chave de API ou login.

Preços

a partir de $36,00 / 1.000 empresas

Este Actor é pago por evento. Você não é cobrado pelo uso da plataforma Apify, mas apenas por um preço fixo para eventos específicos. Como este Actor oferece descontos da Apify Store, o preço fica menor quanto maior for o seu plano de assinatura.

Saiba mais: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

O que é um Apify Actor?

Um Actor é um programa de nuvem sem servidor que roda na plataforma Apify. Ele tem dois modos de execução. No modo Batch, um Actor aceita uma entrada JSON bem definida, executa uma ação que pode levar de alguns segundos a algumas horas, e opcionalmente produz uma saída JSON bem definida, conjuntos de dados com resultados ou arquivos em key-value store. No modo Standby, um Actor fornece um servidor web que pode ser usado como site, API ou servidor MCP.

O vocabulário da Apify e o modelo da plataforma são definidos uma vez, no quickstart do agente em https://apify.com/agents.md.

Como integrar um Actor?

Se perguntarem sobre integração, você ajuda desenvolvedores a integrar Actors em seus projetos. Você se adapta à stack deles e entrega integrações seguras, bem documentadas e prontas para produção.

Não adivinhe um caminho de integração. Todos eles estão no quickstart do agente em https://apify.com/agents.md: o servidor MCP da Apify, Agent Skills com a Apify CLI, os clientes JavaScript e Python, a API REST e o caminho sem conta para um agente sem humano para fazer login. Também traz a regra sobre informar o custo antes da primeira execução paga.

Para exemplos já conectados ao esquema de entrada deste próprio Actor, veja a seção API abaixo.

Cada biblioteca de cliente tem documentação de referência que o quickstart não repete: JavaScript/TypeScript (npm install apify-client) e Python (pip install apify-client).

README

ATS Jobs API é um raspador de vagas de páginas de carreiras para as empresas que você indicar: ele lê todas as vagas abertas nas páginas de carreiras delas ao vivo, do Greenhouse, Lever, Ashby, Workday e mais 18 quadros de empregos (ATS), incluindo vagas publicadas há meses que ainda estão abertas. Cole links de quadros de empregos, sites ou nomes de empresas. Você paga por empresa, com até 1.000 vagas incluídas, e não há chave de API ou login.

Uma empresa com 100 vagas abertas custa uma consulta de empresa. O preço é $0,045 por empresa, menos em planos pagos da Apify; a aba Preços mostra os preços atuais. Se suas empresas têm cerca de 100 vagas abertas cada, você paga cerca de $0,45 por 1.000 vagas. Nas 490 empresas das nossas listas de IA e tecnologia, com 44.578 vagas abertas em 25 de setembro de 2026, isso totalizou cerca de $0,49 por 1.000 vagas. O preço "a partir de" da Store é o preço do plano Business por 1.000 empresas. O plano gratuito da Apify dá $5 de crédito por mês, o que cobre cerca de 110 empresas.

  • Sites de vagas e newsletters puxam vagas atuais de uma lista de empregadores. Em um agendamento diário, Somente novas vagas retorna apenas as novas e as fechadas, para adicionar e expirar anúncios.
  • Recrutadores acompanham empresas-alvo em busca de novas funções, com salários quando publicados.
  • Equipes de vendas e RevOps monitoram sinais de contratação. Uma linha de resumo por empresa mostra vagas abertas, vagas publicadas nos últimos 7 e 30 dias e a participação de funções de engenharia e vendas.
  • Desenvolvedores e agentes de IA chamam via API da Apify ou servidor MCP da Apify.

Ele lê Greenhouse, Lever, Ashby, Workable, Personio, Teamtailor, Recruitee, JOIN, Homerun, Gem, JazzHR, Paylocity, Freshteam, PageUp, Polymer, HireHive, HiringThing, Trakstar Hire, ClearCompany e GoHire, e Workday e Eightfold onde o robots.txt do empregador permitir. Um nome de empresa simples funciona para muitas empresas, mas não para todas, e um site como stripe.com funciona quando o site linka para seu quadro de empregos. Uma empresa sem nada para retornar recebe uma linha de status que explica o motivo.

Ele não busca todas as empresas por palavra-chave. Você traz a lista, ou escolhe uma pronta, e ele retorna o que os quadros de empregos mostram agora. Veja como isso difere de um banco de dados de busca de vagas.

Experimente agora. Clique em Experimente grátis e crie uma conta gratuita na Apify, sem cartão de crédito. O formulário é preenchido com Stripe (Greenhouse), Palantir (Lever) e Ashby (Ashby). Clique em Iniciar para obter cerca de 1.000 vagas em poucos segundos, por $0,135. Para testar mais empresas depois, escolha uma lista em Listas de empresas prontas, como Empresas remote-first (90 empresas, cerca de $4,05).

Receba novas vagas de páginas de carreiras toda manhã

  1. Ative Somente novas vagas desde minha última verificação e cole um webhook de entrada do Slack em URL do webhook de alerta.
  2. Clique em Iniciar uma vez. Esta primeira verificação retorna todas as vagas abertas, custa uma consulta de empresa por empresa e não envia mensagem.
  3. Clique em Salvar como nova tarefa, depois adicione a tarefa a um agendamento diário em Agendamentos e ative-a.

Depois disso, cada verificação envia uma mensagem quando há vagas novas ou fechadas, e nada em dias tranquilos. Uma verificação posterior custa $0,002 por 1.000 vagas abertas iniciadas no quadro de uma empresa, então 50 empresas com até 1.000 vagas abertas cada custam $0,10 por dia, cerca de $3 por mês. Todos os passos, e Google Sheets ou e-mail em vez disso.

Quais dados de vagas você recebe?

Estas são quatro das 1.080 linhas que a entrada pré-preenchida retornou em 24 de setembro de 2026.

EmpresaTítuloLocalLocal de trabalhoFunçãoSalárioPublicado
StripeSourcer, GTMChicago, Atlanta, US-Remoteremotopeople_hr2026-09-24
PalantirSecurity Systems EngineerSeattle, WAhíbridoit_security2026-09-23
AshbyProduct Manager, Onboarding and GrowthRemote - USremotoproduct180.000 a 260.000 USD por ano2026-09-11
AshbyProduct Support Engineer - EMEAReino Unidoremotocustomer_success75.000 a 104.000 GBP por ano2026-09-14

Cada linha também tem o link da vaga, código do país, senioridade, tipo de vaga e salário anual, e, para uma cidade que conhecemos, suas coordenadas e fuso horário. Células vazias são valores que o quadro não fornece. Ative Incluir descrição da vaga para adicionar o texto completo, as ferramentas que cada vaga menciona e o pagamento, anos de experiência, educação e patrocínio de visto escritos nela. Em nossos testes, 96,5% dos locais de vagas receberam um país.

Como raspar vagas do Greenhouse, Lever, Ashby e outras páginas de carreiras

  1. Clique em Experimente grátis.
  2. Em Empresas, cole links de quadros de empregos, sites ou nomes de empresas, um por linha, até 500. Para um link de quadro, abra qualquer vaga na página de carreiras da empresa e copie o link.
  3. Defina filtros se precisar, como Título inclui ou Local.
  4. Clique em Iniciar. Abra a visualização Vagas e exporte como JSON, CSV ou Excel.

Para descrições de quadros com milhares de vagas, escolha 512 MB de memória.

Quanto custa a API de vagas ATS?

Você paga por empresa, menos em planos pagos da Apify, e isso inclui até 1.000 vagas abertas dela. A aba Preços na página da Store mostra os preços atuais.

EventoPreçoO que você recebe
Empresa (company-lookup)$0,045 por empresa; $0,0428 no Starter, $0,0405 no Scale, $0,036 no BusinessTodas as vagas abertas de uma empresa, até 1.000 linhas, incluindo a primeira verificação com Somente novas vagas, também quando o quadro está vazio, não encontrado ou falha
Bloco de vagas extra (extra-1000-jobs)$0,01 por 1.000 vagasCada 1.000 linhas adicionais da mesma empresa, ou parte delas
Verificação de monitoramento repetida (new-jobs-check)$0,002 por verificaçãoUma verificação posterior com Somente novas vagas, por 1.000 vagas abertas no quadro ou parte delas, também quando o quadro está vazio, não encontrado ou falha
Bloco de descrição (job-details)$0,01 por 200 vagasDescrições de 200 vagas, ou parte delas, no JazzHR, Paylocity, Freshteam, JOIN, Polymer, ClearCompany, GoHire, Workday ou Eightfold, e em portais de carreira do HiringThing que listam as vagas de vários locais. Outros quadros incluem descrições sem custo extra

Entradas inválidas, não suportadas, duplicadas e ignoradas, e sites que não conseguimos abrir, são gratuitos. Status e cobranças lista cada caso.

  • Uma empresa com 2.624 vagas custa a consulta mais 2 blocos extras: $0,065.
  • Filtros e Máximo de vagas por empresa reduzem o preço das linhas de vagas apenas acima de 1.000 vagas, e podem reduzir o preço de descrição em qualquer tamanho. Filtros que leem descrições adicionam o preço de descrição nos quadros acima.
  • Se seu limite de gastos não cobrir as cobranças de uma empresa, não entregamos nenhuma vaga dela e não cobramos nada por ela.
  • Em uma execução normal, o uso da plataforma Apify está incluído.
ExemploATS Jobs APIPreço por vaga, $1 a $4 por 1.000 vagas
1 empresa com cerca de 690 vagas abertas$0,045 ($0,065 por 1.000 vagas)$0,69 a $2,76
100 empresas com cerca de 40 vagas cada$4,50 ($1,13 por 1.000 vagas)$4 a $16
85 empresas de tamanho misto, 7.096 vagas$3,84 ($0,54 por 1.000 vagas)$7,10 a $28,38

O preço por vaga é mais barato apenas para quadros com menos de cerca de 45 vagas e para verificações diárias de pequenas empresas que raramente publicam.

Para que você pode usar?

Sinais de contratação para uma lista de contas

Cole suas contas como sites ou domínios. Defina Linhas a retornar para uma linha de resumo por empresa. Cada linha mostra funções abertas e funções publicadas nos últimos 30 dias, no total e por função de trabalho. Ele lista funções abertas de diretor, VP e C-level, e funções cujo título as chama de primeira ou fundadora. Com Somente novas vagas em um agendamento semanal, ele também nomeia as funções de trabalho e países onde uma empresa começou a contratar desde sua última verificação.

Ative Incluir descrição da vaga, gratuito na maioria dos quadros, para adicionar as ferramentas que os anúncios mencionam, como Salesforce ou Snowflake, e primeiras contratações que apenas o texto da vaga menciona.

Identifique possíveis vagas fantasmas

Uma vaga que permanece publicada por meses, ou volta com um novo id, pode não ser uma abertura real. Defina Publicado antes para 90 days para listar vagas publicadas há mais de 90 dias, ou leia jobsOpenOver90Days na linha de resumo. Com Somente novas vagas, novas vagas com o título e local de uma vaga fechada nos últimos 30 dias têm reposted definido como true, vagas fechadas têm daysOpen, e a linha de resumo adiciona repostedJobs e medianDaysOpen. Uma vaga antiga ou republicada é um sinal, não uma prova, já que algumas empresas contratam para a mesma função o ano todo.

Monitore anúncios de vagas de concorrentes

Acompanhe alguns concorrentes semanalmente e veja quais equipes, locais e níveis de senioridade eles contratam.

Faixas salariais de anúncios de vagas

Onde uma empresa publica pagamento, você recebe mínimo, máximo, moeda e período, além de um valor anual para comparação. Defina um salário anual mínimo para manter apenas vagas iguais ou acima dele.

Receba apenas vagas novas e fechadas em um agendamento

  1. Ative Somente novas vagas desde minha última verificação e dê à lista de monitoramento um Nome do monitor.
  2. Clique em Iniciar uma vez. Esta primeira verificação retorna todas as vagas abertas e custa uma consulta de empresa por empresa.
  3. Clique em Salvar como nova tarefa.
  4. Abra Agendamentos, clique em Criar novo, escolha a frequência e seu fuso horário, adicione a tarefa e clique em Ativar. Novos agendamentos começam desativados.

Cada verificação posterior retorna novas vagas que correspondem aos seus filtros e vagas fechadas que você recebeu, com change definido como new ou closed. Custa $0,002 por empresa com até 1.000 vagas abertas.

Também retornar vagas atualizadas (includeUpdatedJobs) adiciona vagas cujo título, local, salário ou tipo de vaga mudou, com change definido como updated. Com Incluir descrição da vaga, apenas novas vagas recebem uma descrição. Uma nova vaga com o mesmo título e localização de uma vaga que você recebeu e que foi encerrada nos últimos 30 dias é uma republicação, marcada como reposted. Pular vagas republicadas (skipReposts) deixa as republicações de fora. Elas não recebem linha, não são contadas como novas e não aparecem no alerta, e o skippedRepostsCount da empresa informa quantas existiam.

O que você recebeu é salvo na sua conta Apify, no armazenamento de chave-valor live-career-page-jobs-api-monitor-<monitor name>. A mensagem de status começa com o que mudou, como "12 novas e 3 vagas encerradas em 5 de 40 empresas".

Enviar novas vagas para Slack, Google Sheets ou e-mail

Novas vagas no Slack toda manhã. Agende a tarefa para a manhã. Na aba Integrações, escolha Slack, conecte seu workspace, selecione um canal e os eventos Execução bem-sucedida e Execução falhou, e cole esta mensagem. Ela chega após cada verificação, também em dias tranquilos.

*Job changes at your watchlist*
{{resource.statusMessage}}
<https://console.apify.com/storage/datasets/{{resource.defaultDatasetId}}|Open the jobs>

Ou pule dias tranquilos com o alerta integrado. Cole um webhook de entrada do Slack, Discord ou Teams, ou um webhook do Make, Zapier ou n8n, em URL do webhook de alerta (alertWebhookUrl). Após uma verificação com vagas novas ou encerradas, ele envia uma mensagem gratuita com até alertMaxJobs vagas (padrão 10) e seus links, e depois linka o restante. Ele não envia nada em dias tranquilos, nem na primeira verificação, a menos que você ative alertOnFirstCheck.

Uma planilha do Google com cada nova vaga. Na mesma aba, adicione o Ator Google Sheets Import & Export, conecte o Google, escolha a planilha, defina o Modo como append e cole esta função de Transformação. Cada verificação adiciona uma linha por vaga nova ou encerrada.

({ spreadsheetData, datasetData }) => spreadsheetData.concat(datasetData
    .filter((r) => r.rowType === 'job')
    .map((r) => ({
        change: r.change ?? '', company: r.companyName ?? r.companySlug ?? '', title: r.title ?? '', jobFunction: r.jobFunction ?? '',
        seniority: r.seniority ?? '', location: r.location ?? '', salaryAnnualMin: r.salaryAnnualMin ?? '',
        salaryAnnualMax: r.salaryAnnualMax ?? '', salaryCurrency: r.salaryCurrency ?? '', postedAt: r.postedAt ?? '', url: r.url ?? '',
    })))

Cada vaga nova ou encerrada também tem alertText, uma linha simples como "Nova na Stripe: Engenheiro de Dados Sênior, Remoto (EUA), USD 180.000 a 240.000 por ano", pronta para mapear no Zapier, Make, n8n ou Slack. A visualização Alertas mostra apenas os campos que um alerta precisa. Na API, adicione view=alerts, também com format=csv, html ou rss.

Um e-mail apenas em dias com novas vagas. Cole um webhook do Make, Zapier ou n8n em URL do webhook de alerta, adicione uma etapa que continue somente quando newJobs for maior que 0, e envie por e-mail o text da mensagem. A integração Enviar e-mail de resultados via Gmail da Apify, com o conjunto de dados anexado como CSV, envia um após cada verificação.

Três coisas para saber antes do primeiro alerta.

  • Execute a tarefa uma vez manualmente antes de adicionar uma integração, pois a primeira verificação retorna cada vaga aberta como nova.
  • Novos filtros ou um novo nome de monitor iniciam uma nova memória, então a próxima verificação é uma primeira verificação novamente, ao preço da empresa.
  • Uma execução manual entre execuções agendadas pega as novas vagas, então a próxima mensagem agendada não as mostrará. Tarefas com o mesmo nome de monitor e filtros compartilham uma memória.

Receitas prontas

Cole uma receita na visualização JSON do formulário, coloque suas empresas e agende como acima. Os custos mensais assumem até 1.000 vagas abertas por empresa, após a primeira verificação.

Novas vagas de vendas nas suas contas-alvo. Toda segunda-feira no Slack, $0,009 por empresa por mês.

{"companies": ["https://boards.greenhouse.io/datadog", "https://boards.greenhouse.io/gongio", "https://jobs.ashbyhq.com/ramp"], "jobFunctions": ["sales"], "onlyNewJobs": true, "monitorName": "sales-accounts"}

Novas vagas em empresas de IA. Todos os dias no Google Sheets, $0,06 por empresa por mês.

{"companies": ["https://jobs.ashbyhq.com/openai", "https://boards.greenhouse.io/anthropic", "https://jobs.ashbyhq.com/cursor"], "onlyNewJobs": true, "monitorName": "ai-companies-daily", "maxJobsPerCompany": 100}

Contratações de concorrentes por função de trabalho. Toda segunda-feira por e-mail, $0,009 por empresa por mês. Uma linha de resumo por concorrente.

{"companies": ["https://jobs.ashbyhq.com/cognition", "https://jobs.ashbyhq.com/replit", "https://jobs.ashbyhq.com/lovable"], "outputMode": "companies", "onlyNewJobs": true, "monitorName": "competitors-weekly"}

Faixas salariais por cargo em concorrentes. Toda segunda-feira no Google Sheets, $0,009 por empresa por mês.

{"companies": ["https://jobs.ashbyhq.com/baseten", "https://jobs.ashbyhq.com/modal", "https://boards.greenhouse.io/coreweave"], "hasSalary": true, "onlyNewJobs": true, "includeUpdatedJobs": true, "monitorName": "competitor-salaries"}

Quadros de vagas ATS suportados

Quadro de vagasCole um link como
Greenhouseboards.greenhouse.io/stripe, job-boards.greenhouse.io/stripe
Leverjobs.lever.co/palantir, jobs.eu.lever.co/<company>
Ashbyjobs.ashbyhq.com/openai
Workdaynvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite, wd1.myworkdaysite.com/recruiting/wf/WellsFargoJobs
Eightfoldpaypal.eightfold.ai/careers, careers.micron.com/careers
Workableapply.workable.com/blueground
Personioottonova.jobs.personio.com (ou .de)
Teamtailorpolestar.teamtailor.com, <company>.na.teamtailor.com
Recruiteefastned.recruitee.com
JOINjoin.com/companies/getklar
Homerunmoneybird.homerun.co
Gemjobs.gem.com/retool
JazzHRnro.applytojob.com
Paylocityrecruiting.paylocity.com/Recruiting/Jobs/All/<company-GUID>
Freshteamupswing.freshteam.com/jobs
PageUpcareers.pageuppeople.com/865/cw/en-us/listing
Polymerjobs.polymer.co/magnendo
HireHivefocus-ireland.hirehive.com
HiringThingvault-manufacturing.hiringthing.com, <company>.applicant-tracking.com
Trakstar Hire (Recruiterbox)stax.hire.trakstar.com
ClearCompanymedcor.hrmdirect.com/employment/job-openings.php
GoHirejobs.gohire.io/dexerto-de5jlhjo

Cada quadro é lido apenas onde o robots.txt permite; sites Workday e Eightfold pelo próprio arquivo do empregador. Quadros Greenhouse hospedados na UE ainda não são suportados. iCIMS, SmartRecruiters, Dayforce, Paycor, UKG, CareerPlug, Hireology, isolved, Avature, Pinpoint, Comeet, softgarden, LinkedIn, Indeed e outros quadros cujos termos não permitem claramente esse uso não são lidos. Também não são lidos empregadores que listam suas vagas apenas em seu próprio site de carreiras, como Google, Apple, Amazon, Meta e Tesla. Todos esses retornam unsupported_job_board, gratuitamente, e error explica o motivo.

Em nosso teste com 81 nomes de empresas conhecidas, um nome simples como stripe ou Zalando SE encontrou o quadro da empresa certa para 49. Um nome não encontrado custa o preço da empresa, e o mesmo vale para um site onde não encontramos quadro de vagas (no_job_board_found), então para grandes empregadores cole o link de uma vaga. matchedBy diz como cada quadro foi correspondido (link, website, directory, name ou name variant). warning sinaliza muitos nomes que podem pertencer a outra empresa, mas não todos, então verifique companyName e boardUrl quando for importante. Quando uma empresa tem vários sites de carreiras, warning nomeia o que lemos.

API de vagas Greenhouse, Lever e Ashby

API de quadro de vagas Greenhouse

Cole boards.greenhouse.io/stripe ou qualquer link de vaga do quadro para obter todas as vagas abertas com departamento, localização, data de publicação e faixas salariais publicadas. Descrições são gratuitas.

API de postagens Lever

Cole jobs.lever.co/palantir, ou jobs.eu.lever.co/<company> para um quadro na UE, para obter todas as vagas abertas com departamento, localização, remoto ou híbrido, tipo de vaga, data de publicação e faixa salarial quando exibida. Descrições são gratuitas.

API de vagas Ashby

Cole jobs.ashbyhq.com/openai para obter todas as vagas abertas com departamento, localização, remoto ou híbrido, tipo de vaga, data de publicação e pagamento quando publicado. Descrições são gratuitas.

API de vagas Workday

Cole um link de site de carreiras, como nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite, para obter todas as vagas abertas com localização, departamento e link de candidatura. Descrições custam $0,01 por 200 vagas.

Sites de carreiras Eightfold

Cole um link de site de carreiras, como paypal.eightfold.ai/careers ou careers.micron.com/careers, para obter todas as vagas abertas com localização, remoto ou híbrido, data de publicação e link de candidatura. Descrições custam $0,01 por 200 vagas.

Use com agentes de IA (MCP)

ATS Jobs API é compatível com MCP através do servidor MCP hospedado da Apify, então Claude, ChatGPT, Cursor, VS Code e outros clientes MCP podem chamá-lo como ferramenta. Adicione este servidor ao seu cliente:

{"mcpServers": {"apify": {"type": "http", "url": "https://mcp.apify.com/?tools=fetch-actor-details,conserving_celerytop/live-career-page-jobs-api"}}}

No Claude.ai ou Claude Desktop, adicione um conector personalizado com a mesma URL. No primeiro uso, uma janela do navegador abre para entrar na Apify, então nenhum token vai no arquivo. Clientes sem login podem enviar um cabeçalho Authorization: Bearer <YOUR_APIFY_TOKEN> em vez disso. Cada chamada é uma execução normal aos preços acima.

Exemplo de prompt: "Liste as vagas abertas de engenheiro de dados na Stripe, Linear e Palantir publicadas nos últimos 30 dias, com salário e link de candidatura."

Para agentes de IA

Use para responder "a empresa X está contratando para Y agora?" ou para listar todas as vagas abertas nas empresas que você nomear. Apenas companies é necessário, até 500 por execução. Ele lê os 22 quadros de vagas em Quadros de vagas suportados, e um link para um deles funciona melhor.

{"companies": ["stripe", "linear.app", "https://jobs.lever.co/palantir"], "titleIncludes": ["data engineer"], "postedSince": "30 days", "maxJobsPerCompany": 20}

Cada linha de vaga tem company, companyStatus, title, department, location, countryCode, jobFunction, salaryAnnualMin, salaryAnnualMax, postedAt e url. Uma empresa sem vagas para retornar recebe uma linha de status. no_matching_jobs significa que tem vagas abertas, mas nenhuma corresponde, no_open_jobs significa que o quadro está vazio, e not_found significa que não encontramos quadro sob esse nome ou link.

Para GPT Actions, LangChain ou outra ferramenta OpenAPI, os endpoints de execução estão descritos em https://api.apify.com/v2/acts/conserving_celerytop~live-career-page-jobs-api/builds/default/openapi.json. O arquivo pede seu token Apify no parâmetro token. Um cabeçalho Authorization: Bearer também funciona.

API Apify e integrações

A aba API tem código pronto para JavaScript, Python e outros clientes. Esta solicitação inicia uma execução, espera até 300 segundos e retorna uma linha por vaga.

curl -X POST "https://api.apify.com/v2/actors/conserving_celerytop~live-career-page-jobs-api/run-sync-get-dataset-items" \
  -H "Authorization: Bearer <YOUR_APIFY_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"companies": ["https://boards.greenhouse.io/stripe", "https://jobs.lever.co/palantir"], "department": "engineering"}'

No Clay, use o enriquecimento Executar Ator Apify com a entrada {"companies": [<career page column>]}, com o token da coluna sem aspas, e escolha uma linha de resumo por empresa para manter cada célula pequena. Cada linha custa 1 ação Clay e nenhum crédito de dados Clay, mais o preço da empresa aqui.

API HTTP ao vivo

Para enviar empresas em uma única solicitação HTTP e obter suas vagas na resposta, sem esperar por uma execução, use API HTTP de vagas ao vivo. Ela tem os mesmos campos, filtros e preços de eventos, e também cobra o uso da plataforma Apify de cada solicitação. Execuções normais deste Ator cobram apenas os eventos acima.

Entrada

{
  "companies": ["stripe", "linear.app", "https://jobs.lever.co/palantir", "https://jobs.ashbyhq.com/openai", "https://ottonova.jobs.personio.com"],
  "companyLists": [],
  "excludeCompanies": [],
  "outputMode": "jobs",
  "includeDescription": true,
  "descriptionFormat": "text",
  "maxJobsPerCompany": 50,
  "onlyNewJobs": false,
  "monitorName": "default",
  "includeUpdatedJobs": false,
  "skipReposts": false,
  "alertWebhookUrl": "",
  "alertMaxJobs": 10,
  "alertOnFirstCheck": false,
  "titleIncludes": ["engineer", "data scientist"],
  "department": "engineering",
  "location": "London",
  "locationExcludes": ["India"],
  "near": "",
  "radiusKm": 50,
  "remoteOnly": false,
  "remoteRegions": ["us", "canada"],
  "workplaceTypes": ["remote", "hybrid"],
  "employmentTypes": ["full_time"],
  "seniorities": ["senior", "staff_principal"],
  "jobFunctions": ["engineering", "data"],
  "languages": ["en"],
  "titleExcludes": ["intern", "contract"],
  "descriptionIncludes": ["Snowflake", "dbt"],
  "skills": [],
  "hasSalary": false,
  "minAnnualSalary": 120000,
  "minAnnualSalaryCurrency": "USD",
  "postedSince": "30 days",
  "postedBefore": "2026-09-20",
  "maxExperienceYears": 5,
  "visaSponsorship": false,
  "ukVisaSponsorOnly": false
}
  • Dê companies, companyLists ou ambos. startUrls e urls são outros nomes para companies, então entradas escritas para outros Atores também funcionam.
  • Título inclui, Título exclui e Descrição inclui correspondem a palavras inteiras em qualquer maiúscula/minúscula, então engineer corresponde a "Software Engineer", mas não a "Engineering Manager", e C++ também funciona.
  • Local aceita um nome de país ou código (DE mantém Berlim), um estado dos EUA ou província canadense pelo nome, ou outro lugar, como Londres. Para vários departamentos ou locais, coloque um por linha, ou uma quebra de linha em JSON ("engineering\nsales"). Uma vaga que corresponda a qualquer um deles é mantida. Uma vírgula não divide valores, então engineering, sales é um único departamento.
  • Perto de uma cidade (near) mantém vagas dentro de Distância (km) (radiusKm, 50 por padrão, até 500) de uma cidade, como Berlim, Munique ou Austin, TX, medido a partir do centro de cada cidade. Cada local de uma vaga conta, então Potsdam está a menos de 50 km de Berlim e Hamburgo não. Uma vaga remota é mantida apenas quando também lista um local dentro da distância, então use-a sem Somente remoto. Vagas cuja cidade não conhecemos, como apenas um país ou uma cidade com menos de 15.000 habitantes, são deixadas de fora, e o warning da empresa diz quantas. Uma cidade que não conhecemos interrompe a execução antes de qualquer quadro de empregos ser lido, então não custa nada, e o erro sugere cidades semelhantes.
  • Filtros sobre local de trabalho, tipo de vaga, senioridade, idioma, salário e Publicada antes deixam de fora vagas cujo valor é desconhecido, e o warning da empresa diz quantas.
  • Descrição inclui, Habilidades, Máx. anos de experiência, Somente vagas que patrocinam visto, Idiomas e os dois filtros de salário leem a descrição, então eles ativam Incluir descrição da vaga. Quando seu limite de gastos é atingido, as vagas ainda a descrever vêm sem descrição.
  • Formato da descrição (descriptionFormat) define como a descrição vem: text (texto simples, o padrão), html (a formatação própria do quadro com scripts, estilos, quadros e manipuladores de eventos removidos, mantendo parágrafos, títulos, listas, negrito e links) ou markdown. Todo formato tem e-mails, números de telefone e links de perfil removidos, o mesmo limite de 60.000 caracteres e o mesmo preço.
  • Somente patrocinadores de visto no Reino Unido mantém vagas em empresas no registro de patrocinadores licenciados para trabalhadores do Home Office do Reino Unido. Cada linha de vaga tem ukVisaSponsor e ukSponsorRoutes, como Skilled Worker. O registro lista nomes legais, então uma empresa listada sob outro nome lê false para uma vaga no Reino Unido, e um nome muito curto ou muito comum lê null.
  • Regiões remotas (remoteRegions) mantém vagas remotas abertas para um dos lugares que você fornece. Cada linha de vaga tem o mesmo campo, lido do local e título, como "Remote - US" ou "Remote (EMEA)". Ele fica vazio quando a vaga não é remota ou não diz onde, como com um simples "Remote".
ValorSignificado
worldwideAberto em qualquer lugar. Corresponde a todo valor em que você filtra.
americas, latamAmérica do Norte e do Sul; América Latina. us, canada e latam caem sob americas.
us, canada, ukUm país. "América do Norte" lê como us e canada.
emea, europeEuropa, Oriente Médio e África; Europa. uk e países europeus caem sob ambos.
apacÁsia e Pacífico.
DE, IN, BR ...Qualquer outro país, como um código de duas letras. Ele corresponde à sua região, então europe mantém uma vaga aberta em DE.

Listas de empresas prontas

Sem lista própria? Escolha uma ou mais em Listas de empresas prontas (companyLists) e limpe Empresas, ou use ambas.

ListaEmpresas
ai-companies179 laboratórios de IA e empresas focadas em IA
tech-companies311 empresas de tecnologia
remote-first90 empresas com pelo menos 4 em 5 de suas vagas abertas remotas
europe-tech65 empresas de tecnologia com pelo menos 4 em 5 de suas vagas abertas na Europa
startups250 startups apoiadas por capital de risco, nenhuma delas nas outras listas

Cada empresa em uma lista custa o preço da empresa, como uma que você adiciona, e seus filtros se aplicam. Uma empresa em duas listas, ou em uma lista e em Empresas, é lida e cobrada uma vez. Uma execução aceita no máximo 500 empresas, então ai-companies e tech-companies (490 juntas) cabem em uma execução, mas não com uma terceira lista. Cada empresa nessas listas tinha pelo menos 10 vagas abertas quando verificamos seu quadro de empregos entre 24 e 26 de setembro de 2026. Atualizamos as listas uma vez por mês. Quando uma lista muda, um monitor que a usa dá a cada empresa que entrou uma primeira verificação (uma consulta de empresa) e para de verificar empresas que saíram.

Para deixar empresas de fora, como seu próprio empregador, adicione seus nomes, sites ou links de quadro de empregos em Excluir empresas (excludeCompanies). Uma empresa deixada de fora não é lida e não é cobrada.

Filtrar por habilidades

Coloque as ferramentas com que você trabalha em Habilidades (skills), como Python, Snowflake ou Salesforce, para manter apenas vagas cujo tools nomeie pelo menos uma delas. Maiúsculas/minúsculas não importam, e outras grafias também funcionam, então golang encontra Go e k8s encontra Kubernetes. Cada vaga lista as habilidades que tem em matchedSkills. Uma palavra que não é uma habilidade que conhecemos interrompe a execução antes de qualquer cobrança e sugere nomes próximos. Para outras palavras, use Descrição inclui.

Saída

O rowType de cada linha do conjunto de dados é job, status (uma empresa sem vaga para retornar) ou company (uma linha de resumo). Em verificações posteriores com Somente novas vagas, uma empresa cujo quadro foi lido não recebe linha de status, e qualquer outra empresa recebe uma apenas quando seu status mudou. Com Somente novas vagas, vagas fechadas também são linhas de vaga. A aba Saída descreve cada campo. Uma linha de vaga, abreviada, fica assim.

{
  "rowType": "job",
  "company": "https://jobs.ashbyhq.com/ashby",
  "companyStatus": "ok",
  "jobKey": "ashby:ashby:390e266b-4b6c-4490-ad74-05ff5e0bb36a",
  "title": "Product Manager, Onboarding and Growth",
  "department": "Product",
  "location": "Remote - US",
  "countryCode": "US",
  "workplaceType": "remote",
  "jobFunction": "product",
  "employmentTypeNormalized": "full_time",
  "salaryMin": 180000,
  "salaryMax": 260000,
  "salaryCurrency": "USD",
  "salaryPeriod": "year",
  "postedAt": "2026-09-11T19:28:18.199Z",
  "url": "https://jobs.ashbyhq.com/ashby/390e266b-4b6c-4490-ad74-05ff5e0bb36a"
}
CampoValores
seniorityintern, entry, mid, senior, staff_principal, lead_manager, director, vp ou c_level, e nulo quando o título não dá nível
employmentTypeNormalizedfull_time, part_time, contract, temporary, internship, apprenticeship ou volunteer
salaryPeriod, salaryAnnualMin, salaryAnnualMaxyear, month, week, day ou hour, e o pagamento por ano, para comparação
companyIndustry, companyCountry, companySizeBandPara uma empresa de uma lista pronta: sua indústria (como ai, fintech ou security), o código de duas letras do país de sua sede e seu número de funcionários como uma faixa (1-50 a 5000+), do Wikidata. Nulo quando não conhecido, e para outras empresas

latitude, longitude e timeZone são o centro e o fuso horário da cidade da vaga, do GeoNames, como 52.52, 13.41 e Europe/Berlin para Berlim. Eles são nulos quando não conhecemos a cidade, como para apenas um país. jobKey permanece o mesmo em toda execução, então você pode unir execuções por ele. O registro COMPANIES na aba Saída tem um status por empresa, com companyTotalOpenJobs, companyMatchedJobs, companyJobsReturned, companyJobsWithoutDate, chargedEventCount, extraJobBlocksCharged, jobDetailBlocksCharged, upstreamCalls, newJobsCount, closedJobsCount, updatedJobsCount, skippedRepostsCount, firstCheck, previousCheckAt e inputDomain.

Uma linha de resumo por empresa

Defina Linhas a retornar (outputMode) para obter contagens de contratação por empresa em vez de, ou ao lado das, linhas de vaga.

outputModeLinhasPreço por empresa
jobs (padrão)Uma linha por vagaConsulta, mais uma cobrança extra por cada 1.000 linhas de vaga adicionais
companiesUma linha de resumo, sem linhas de vagaSomente consulta, quantas vagas a empresa tiver. Incluir descrição da vaga adiciona o preço da descrição nos quadros listados em preços
bothLinhas de vaga mais uma linha de resumoIgual a jobs. A linha de resumo é gratuita

As contagens usam toda vaga que passa em seus filtros, antes de Máx. de vagas por empresa. Uma linha de resumo tem openJobs, jobsPostedLast7Days, jobsPostedLast30Days, jobsOpenOver90Days, remoteShare, engineeringShare, salesShare, topDepartments, topLocations, functionCounts, functionCountsLast30Days, salaryMedians, leadershipRoles e firstHireRoles. Com Incluir descrição da vaga, ela adiciona topTools, toolCoverage e visaSponsorshipShare, e com Somente novas vagas newJobs, closedJobs, repostedJobs, medianDaysOpen, newFunctions e newCountries, mais skippedReposts com Pular vagas republicadas.

  • functionCountsLast30Days parece {"sales": 4, "engineering": 9} e é nulo quando o quadro não fornece datas de publicação.
  • leadershipRoles lista até 5 funções abertas de diretor, VP e nível C, mais recentes primeiro, com título, função da vaga, nível, data de publicação e link. Com Somente novas vagas, funções fechadas desde a verificação anterior preenchem o resto dos 5, com status definido como closed.
  • firstHireRoles lista até 5 primeiras contratações ou contratações fundadoras. cue é title quando o título diz isso, e text quando a descrição diz, o que precisa de Incluir descrição da vaga.
  • newFunctions e newCountries listam as funções de vaga e códigos de país com vagas abertas agora e nenhuma na verificação anterior, e são nulos em uma primeira verificação.

Status e cobranças

companyStatusSignificadoCobrado
okVagas abertas correspondem aos seus filtrosSim
no_matching_jobsVagas abertas existem, mas nenhuma corresponde aos seus filtrosSim
no_open_jobsO quadro não tem vagas abertasSim
not_foundNenhum quadro foi encontrado sob este nome ou linkSim
source_errorO quadro falhou ou enviou dados ilegíveisSim, exceto quando o robots.txt do quadro não pôde ser lido, então o quadro não foi lido
no_job_board_foundLemos o site, mas não encontramos quadro de empregosSim
website_unavailableNão conseguimos abrir o siteNão
unsupported_job_boardUm quadro ou site de carreiras que não lemos, ou um site ou empregador que opta por sair. error diz por quêNão
invalid_inputNão é um link, site ou nome, ou um link de quadro que não nomeia empresaNão
duplicateOutra entrada era o mesmo quadroNão
skipped_time_limitO tempo acabou antes desta empresa ser lidaNão
skipped_spending_limitSeu limite de gastos não pôde cobrir as cobranças desta empresaNão
skipped_client_disconnectedSomente na API HTTP Live Jobs. Seu cliente desconectou primeiroNão
internal_errorAlgo falhou do nosso lado. error diz o quêSomente se aconteceu depois de lermos o quadro de empregos, mas não durante a cobrança

Outros Atores de vagas

FAQ

Como isso é diferente de um banco de dados de busca de vagas?

Um banco de dados de busca de empregos coleta vagas antecipadamente, e você as pesquisa por palavra-chave, título ou local. Este Actor lê os quadros de empregos das empresas que você nomeia quando o executa. Você obtém cada vaga que cada quadro mostra naquele momento, incluindo vagas publicadas há meses que ainda estão abertas, em qualquer empresa nos 22 quadros de empregos que lemos. O limite é que você traz as empresas, ou escolhe uma lista pronta. Ele não pesquisa todas as empresas por palavra-chave. Para procurar em muitas empresas, escolha uma lista pronta e defina Title includes. Cada empresa na lista custa o preço da empresa, mesmo quando nenhuma vaga corresponde.

Quão frescas são as vagas?

Tão frescas quanto o quadro de empregos de cada empresa quando você o executa. Cada execução lê os quadros novamente, então novas vagas aparecem e vagas fechadas saem. O fetchedAt de cada linha é o horário da consulta, e postedAt é a data que o quadro fornece. Para novas vagas todos os dias, agende uma tarefa com Only new jobs.

Ele consegue ler LinkedIn ou Indeed?

Não, por design. Ele lê apenas os quadros de empregos das próprias empresas, como seus quadros Greenhouse, Lever ou Ashby. Um link do LinkedIn ou Indeed retorna unsupported_job_board, gratuitamente, e error diz o porquê. Muitas empresas publicam as mesmas vagas em seu próprio quadro, então cole o nome ou site da empresa em vez disso.

Como descubro qual ATS uma empresa usa?

Abra qualquer vaga na página de carreiras da empresa e observe seu link. Um link com greenhouse.io, lever.co ou ashbyhq.com indica o ATS, e Supported job boards mostra os links de todos os 22. Ou cole o site da empresa em Companies, e boardUrl mostra o quadro de empregos encontrado, mesmo um que não lemos.

Vou receber duplicatas ou vagas republicadas?

Sem duplicatas. Uma execução retorna cada vaga uma vez, também quando duas entradas apontam para o mesmo quadro de empregos. Com Only new jobs, uma vaga vem uma vez como nova, e mais uma vez como fechada quando é removida. Uma vaga removida e republicada sob um novo id vem como nova, com reposted definido como true. Ative Skip reposted jobs para deixá-las de fora.

Por que o salário está vazio?

A empresa não publica pagamento em seu quadro. Ative Include job description para também obter o pagamento escrito no texto da vaga.

O Greenhouse tem uma API pública de empregos?

Sim. O Greenhouse tem uma API pública de Job Board que lista as vagas que uma empresa publica em seu quadro, e lê-la não requer chave. Você solicita uma empresa por vez, pelo nome do quadro, como stripe. Lever e Ashby também têm listas públicas de empregos, cada uma em seu próprio formato.

Por que não chamar os quadros de empregos eu mesmo?

Você pode, para um quadro. Este Actor oferece 22 quadros com os mesmos campos e filtros. Ele aceita um site ou nome de empresa, não apenas um link de quadro, e lembra o que você recebeu, para que verificações posteriores retornem apenas vagas novas e fechadas. Quando um quadro muda, atualizamos o Actor, e sua entrada e saída permanecem as mesmas.

É legal coletar anúncios de emprego?

Este Actor lê apenas anúncios de emprego que empresas publicam em quadros públicos para candidatos, sem login. Ele ignora sites cujos termos não permitem claramente esse uso. Não podemos dar aconselhamento jurídico, então verifique se seu uso segue as leis e termos que se aplicam a você. Legal and trademarks diz como ele lida com dados pessoais.

Legal and trademarks

Este Actor segue robots.txt em sites de empresas e em cada host de quadro de empregos que lê, e mantém o ritmo que cada quadro solicita. Um quadro ou página que robots.txt não permite é ignorado e não cobrado. Ele é construído para dados de empregos, não dados pessoais, e remove endereços de e-mail, números de telefone e links de perfis do LinkedIn das descrições.

Os sites de carreiras Teamtailor e Workable dizem em seus robots.txt que seu conteúdo não deve ser usado para treinar modelos de IA (ai-train=no). Não use dados de empregos desses quadros para treinar modelos.

Este Actor não é afiliado ou endossado por Greenhouse, Lever, Ashby, Workday, Eightfold ou qualquer outro quadro de empregos. Seus nomes são marcas registradas de seus proprietários. Um empregador ou quadro de empregos que queira que paremos de ler seu site pode abrir uma issue, e nós o adicionamos à nossa lista de bloqueio.

Países, estados dos EUA e cidades vêm do GeoNames (https://www.geonames.org/), licenciado sob CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Encurtamos a lista e adicionamos outros nomes comuns, como "NYC". Palavras comuns em inglês vêm do SCOWL (wordlist.aspell.net), Copyright 2000-2016 Kevin Atkinson, usado sob seu aviso de permissão.

Changelog and support

Adicionamos campos de saída, mas não renomeamos ou removemos. Se um campo precisar mudar, avisaremos na aba Changelog primeiro. Encontrou um problema ou precisa de outro quadro? Abra uma issue na aba Issues. Se este Actor economizou seu tempo, uma breve avaliação em sua página da Store ajuda outras pessoas a encontrá-lo.

Related Actors. Tech Jobs Search pesquisa as vagas abertas de 824 empresas de tecnologia, IA, remotas e startups por palavra-chave, e você paga por vaga correspondente. Live Jobs HTTP API fornece os mesmos dados deste Actor em uma única solicitação GET ou POST.

Changelog

O histórico de versões deste Actor é um documento separado: https://apify.com/conserving\_celerytop/live-career-page-jobs-api/changelog.md

Actor input Schema

companies (tipo: array):

Uma entrada por empresa, até 500. Um link de quadro de empregos funciona melhor, como boards.greenhouse.io/stripe, em Greenhouse, Lever, Ashby, Workday, Eightfold, Workable, Personio, Teamtailor, Recruitee e mais 13 quadros (lista no README). Um site (stripe.com) também funciona, assim como um nome simples (stripe) para muitas empresas. Uma consulta por empresa, 1.000 vagas incluídas, também quando nenhum quadro é encontrado.

companyLists (tipo: array):

Execute em listas prontas de empresas em vez de, ou ao lado de, sua própria lista em Companies. Cada empresa da lista é uma consulta de empresa (1.000 vagas incluídas), e os filtros se aplicam normalmente. Para executar apenas as listas, limpe Companies. Uma empresa em duas listas, ou também em Companies, é lida e cobrada uma vez. No máximo 500 empresas por execução. Valor da API: uma lista como ["ai-companies"].

excludeCompanies (tipo: array):

Empresas a deixar de fora, como seu próprio empregador ou empresas que você já acompanha: nomes de empresas, sites ou links de quadros de empregos, até 1.000. Mais útil com listas prontas de empresas. Uma empresa deixada de fora não é lida e não é cobrada. Deixe vazio para manter todas as empresas.

outputMode (tipo: string):

jobs: uma linha por vaga. companies: uma linha de resumo por empresa com vagas abertas, postagens recentes, participação remota, principais departamentos, locais, senioridade, funções de trabalho, liderança e funções de primeira contratação, medianas salariais e principais ferramentas (todos os campos no README). Custa uma consulta por empresa, nunca a cobrança extra de 1.000 vagas. both: linhas de vagas mais linhas de resumo (rowType job, company ou status).

includeDescription (tipo: boolean):

true: adicione a descrição completa de cada vaga como texto simples (até 60.000 caracteres, sem detalhes de contato) e as ferramentas que ela nomeia (campo tools). Grátis na maioria dos quadros; $0,01 por 200 vagas iniciadas em portais JazzHR, Paylocity, Freshteam, JOIN, Polymer, Workday, Eightfold, ClearCompany, GoHire e HiringThing. Com Only new jobs, apenas novas vagas são descritas.

descriptionFormat (tipo: string):

Como cada descrição vem, com Include job description ativado. text: texto simples. html: o HTML do próprio quadro, mantido seguro: sem scripts, estilos, frames ou manipuladores de eventos. markdown: o mesmo convertido para Markdown. Cada formato tem e-mails, números de telefone e links de perfil removidos e é cortado em 60.000 caracteres. Mesmo preço.

maxJobsPerCompany (tipo: integer):

Retorne no máximo este número de vagas por empresa, as mais recentes primeiro, por exemplo 50. Para responder a uma pergunta rápida, 20 é suficiente. Deixe vazio para todas as vagas, até 10.000 por empresa. Defina 1.000 ou menos para nunca pagar a cobrança de $0,01 para cada 1.000 vagas adicionais. Com Only new jobs, vagas fechadas vêm além deste limite e contam para essa cobrança. Linhas de resumo ainda contam cada vaga correspondente.

onlyNewJobs (tipo: boolean):

true: retorne apenas vagas que você não recebeu deste Actor antes, mais vagas que fecharam desde sua verificação anterior (campo change é new ou closed). A primeira verificação de uma empresa retorna todas as suas vagas por uma consulta de empresa; uma verificação posterior custa $0,002 por 1.000 vagas abertas iniciadas. Use com um agendamento. O que você recebeu é salvo em sua própria conta Apify, por nome de Monitor e conjunto de filtros.

monitorName (tipo: string):

Usado apenas com Only new jobs. Nome da lista salva de vagas que você recebeu, para que listas de observação separadas não se misturem, por exemplo sales-accounts ou competitors. Letras, números, - e _ apenas, até 40 caracteres. Padrão: default.

includeUpdatedJobs (tipo: boolean):

Usado apenas com Only new jobs. true: também retorne vagas que você recebeu antes cujo título, local, salário ou tipo de vaga mudou desde sua verificação anterior, com change updated, changedFields e os valores anteriores. Cada uma é mais uma linha, então conta para os $0,01 por 1.000 vagas adicionais. Padrão false: o preço permanece o mesmo e as mudanças são apenas contadas em linhas de resumo.

skipReposts (tipo: boolean):

Usado apenas com Only new jobs. true: deixe de fora uma nova vaga com o mesmo título e local de uma vaga que você recebeu e que fechou nos últimos 30 dias, uma republicação sob um novo id. Ela não recebe linha nem alerta, e nunca volta como nova; skippedRepostsCount diz quantas. Padrão false: republicações vêm como novas vagas com reposted true.

alertWebhookUrl (tipo: string):

Usado apenas com Only new jobs. Um link https que recebe uma mensagem curta após uma verificação com vagas novas ou fechadas, e nada em dias sem mudanças: o webhook de entrada de um canal Slack, Discord ou Teams, ou um webhook Make, Zapier ou n8n, como https://hooks.slack.com/services/... Ele lista contagens por empresa e as vagas com links. Grátis. Mantido em segredo.

alertMaxJobs (tipo: integer):

Usado apenas com Alert webhook URL. Quantas vagas novas e fechadas o alerta lista, uma linha cada com título, local e salário quando conhecido, por exemplo 20. Mais vagas são contadas com um link para o dataset. Um número inteiro de 1 a 50. Grátis. Padrão 10.

alertOnFirstCheck (tipo: boolean):

Usado apenas com Alert webhook URL. true: também envie um alerta na primeira verificação de uma empresa, que retorna todas as suas vagas abertas como novas. Padrão false: a primeira verificação não envia nada, e verificações posteriores alertam apenas sobre vagas novas e fechadas. Grátis.

titleIncludes (tipo: array):

Mantenha apenas vagas cujo título contenha uma dessas palavras ou frases, ignorando maiúsculas. Use para verificar se uma empresa está contratando para uma função, por exemplo data engineer ou account executive. Apenas palavras inteiras, então engineer corresponde a Software Engineer, mas não a Engineering Manager. Uma lista de até 100. Deixe vazio para todos os títulos.

titleExcludes (tipo: array):

Deixe de fora vagas cujo título contenha qualquer uma dessas palavras ou frases, ignorando maiúsculas. Apenas palavras inteiras, então intern não corresponde a International. Uma lista de até 100, por exemplo senior e intern. Uma palavra excluída vence sobre Title includes. Deixe vazio para manter todos os títulos.

descriptionIncludes (tipo: array):

Mantenha apenas vagas cuja descrição nomeie qualquer uma dessas palavras ou frases, ignorando maiúsculas, como Snowflake, Rust ou C++. Apenas palavras inteiras, então Rust não corresponde a trust. Uma ferramenta também corresponde a seus outros nomes, então Postgres encontra PostgreSQL. Até 100. Isso ativa Include job description (veja seu preço). Deixe vazio para todas as vagas.

skills (tipo: array):

Mantenha apenas vagas que nomeiem pelo menos uma dessas habilidades em suas ferramentas, como Python, Snowflake ou Salesforce, ignorando maiúsculas. Outras grafias funcionam, então golang encontra Go; matchedSkills lista as encontradas. Uma habilidade desconhecida interrompe a execução antes de qualquer cobrança, com nomes próximos. Até 100. Isso ativa Include job description (veja seu preço). Deixe vazio para todas as vagas.

department (tipo: string):

Mantenha apenas vagas cujo departamento, equipe ou caminho do departamento contenha este texto, ignorando maiúsculas e minúsculas, por exemplo, engineering. Para vários, coloque um por linha. Uma vaga que corresponda a qualquer um deles é mantida. Na entrada da API, coloque uma quebra de linha entre os valores, como em "engineering\nsales". Até 100. Deixe vazio para todos os departamentos.

seniorities (tipo: array):

Mantenha apenas vagas em um destes níveis (campo senioridade), lidos a partir do título: Senior Engineer é sênior, Head of Sales é diretor. Um título sem palavra de nível, como Software Engineer, não tem senioridade: essas vagas são excluídas, e o aviso da empresa informa quantas. Deixe vazio para todos os níveis.

jobFunctions (tipo: array):

Mantenha apenas vagas nestas funções, lidas a partir do título de cada vaga e, em seguida, do departamento e da equipe (campo de saída jobFunction). Escolha uma ou mais, por exemplo, Engineering e Data. Títulos em inglês e alemão são lidos, além de básicos em francês, espanhol, holandês e sueco. Em nossos testes, cerca de 9 em cada 10 vagas receberam a função correta. Valor da API: uma lista como ["engineering", "data"]. Deixe vazio para todas as funções.

employmentTypes (tipo: array):

Mantenha apenas vagas com um destes tipos de emprego (campo employmentTypeNormalized), a partir do tipo de vaga do quadro ou do título. Vagas cujo tipo é desconhecido são excluídas, e o aviso da empresa informa quantas. O Teamtailor não fornece tipo de vaga e o Greenhouse só fornece quando a empresa define um, então, nesses casos, títulos como Intern ou Part-time indicam. Deixe vazio para todos.

maxExperienceYears (tipo: integer):

Mantenha apenas vagas cuja descrição exija no máximo este número de anos de experiência, lido a partir de frases como 5+ anos ou mindestens 3 Jahre. Um número inteiro de 0 a 50, como 3. Vagas que não informam anos são excluídas; o aviso informa quantas. Isso ativa Incluir descrição da vaga (veja o preço). Deixe vazio para todos.

languages (tipo: array):

Mantenha apenas vagas escritas em um destes idiomas, como códigos de duas letras, como en, de ou fr (campo language). O Greenhouse fornece o idioma de cada vaga; em outros casos, ele é lido a partir da descrição. Isso ativa Incluir descrição da vaga (veja o preço). Vagas cujo idioma é desconhecido são excluídas; o aviso informa quantas.

location (tipo: string):

Mantenha apenas vagas neste local, como Londres, Califórnia ou Alemanha. Um nome ou código de país (DE) mantém vagas nesse país; um estado dos EUA ou província canadense mantém sua região. Outro texto corresponde a palavras inteiras, então York mantém Nova York, não Yorkshire. Para vários, coloque um por linha; qualquer correspondência mantém uma vaga. Na entrada da API, coloque uma quebra de linha entre os valores. Deixe vazio para todos.

locationExcludes (tipo: array):

Exclua vagas em qualquer um destes locais, correspondidos como Local: Índia ou IN também exclui vagas em Bangalore, e Califórnia exclui San Mateo, CA. Uma vaga com vários locais é excluída quando qualquer um deles corresponde. Vagas sem localização são mantidas. Uma lista de até 100, por exemplo, Índia e Brasil. Deixe vazio para manter todos os locais.

near (tipo: string):

Mantenha apenas vagas dentro da distância abaixo de uma cidade, como Berlim ou Austin, TX. Adicione o país ou estado dos EUA a um nome compartilhado (Cambridge, Reino Unido). Cada local de uma vaga conta; não combine com Somente remoto. Vagas cuja cidade não conhecemos (apenas um país, ou uma cidade com menos de 15.000 habitantes) são excluídas e contadas no aviso. Uma cidade desconhecida interrompe a execução gratuitamente, com correspondências próximas.

radiusKm (tipo: integer):

A que distância da cidade em Perto de uma cidade uma vaga pode estar, em quilômetros, de 1 a 500. Padrão 50. Usado apenas com Perto de uma cidade.

remoteOnly (tipo: boolean):

true: mantenha apenas vagas que podem ser feitas totalmente remotas. Vagas híbridas e presenciais são excluídas. Padrão false.

remoteRegions (tipo: array):

Mantenha apenas vagas remotas abertas para um destes locais: worldwide, americas, us, canada, latam, emea, europe, uk, apac, ou um código de país como DE. Lido a partir do local e título da vaga, como Remoto (EMEA). Uma vaga aberta mundialmente corresponde a todos os valores, e europe mantém uma vaga aberta na Alemanha. Vagas remotas cujos locais são desconhecidos são excluídas e contadas no aviso.

workplaceTypes (tipo: array):

Mantenha apenas vagas com um destes tipos de local de trabalho: remote, hybrid ou onsite (campo workplaceType), a partir do campo próprio do quadro ou do texto do local. Vagas cujo tipo de local de trabalho é desconhecido são excluídas, e o aviso da empresa informa quantas; o Greenhouse marca apenas vagas remotas e híbridas, então suas vagas presenciais são desconhecidas. Deixe vazio para todas as vagas.

hasSalary (tipo: boolean):

true: mantenha apenas vagas com salário (salaryMin ou salaryMax), a partir do quadro ou escrito na descrição. Muitos quadros mostram remuneração apenas na descrição. Isso ativa Incluir descrição da vaga (veja o preço). Padrão false.

minAnnualSalary (tipo: integer):

Mantenha vagas cujo salário anual (salaryAnnualMax, senão salaryAnnualMin) atinja este valor na moeda abaixo, como 120000. Remuneração na descrição também conta. Isso ativa Incluir descrição da vaga (veja o preço). Vagas pagas em outra moeda (sem taxas de câmbio) ou sem salário anual são excluídas; o aviso informa quantas. Vazio para sem mínimo.

minAnnualSalaryCurrency (tipo: string):

Moeda do Salário anual mínimo, como um código de três letras, como USD, EUR ou GBP. Apenas vagas cujo salário está nesta moeda podem passar. Usado apenas com Salário anual mínimo. Padrão USD.

postedSince (tipo: string):

Mantenha apenas vagas publicadas nesta data ou depois. Use uma data como AAAA-MM-DD, por exemplo, 2026-09-01, ou um período como um número mais horas, dias, semanas, meses ou anos, por exemplo, 24 horas ou 7 dias. Um período conta para trás a partir do início de cada execução, o que é adequado para agendamentos. Vagas cujo quadro não fornece data de publicação são excluídas. Deixe vazio para todas as datas.

postedBefore (tipo: string):

Mantenha apenas vagas publicadas antes desta data. Use uma data como AAAA-MM-DD, por exemplo, 2026-06-01, ou um período como 30 dias para vagas publicadas há mais de 30 dias. Com Publicado desde, isso fornece um intervalo de datas. Vagas cujo quadro não fornece data de publicação são excluídas, e o aviso da empresa informa quantas. Deixe vazio para todas as datas.

visaSponsorship (tipo: boolean):

true: mantenha apenas vagas cuja descrição diga que a empresa patrocina vistos. Vagas que não mencionam isso são excluídas, e o aviso informa quantas. Isso lê a descrição, então ativa Incluir descrição da vaga, também com Linhas para retornar: empresas, com seu preço nos portais JazzHR, Paylocity, Freshteam, JOIN, Polymer, Workday, Eightfold, ClearCompany, GoHire e HiringThing. Padrão false.

ukVisaSponsorOnly (tipo: boolean):

true: mantenha apenas vagas em empresas no registro de patrocinadores licenciados para trabalhadores do UK Home Office (ukVisaSponsor true). O nome da empresa deve corresponder exatamente a um nome do registro, uma vez que palavras como Ltd, Limited, PLC e UK são deixadas de lado, então uma empresa listada sob outro nome legal é excluída, assim como um nome curto demais ou comum demais para corresponder com segurança. O aviso informa o motivo. Padrão false.

startUrls (tipo: array):

Outro nome para Empresas, para que a entrada escrita para outros Atores funcione: links como strings ou como objetos {"url": "..."}. Mesclado em Empresas.

urls (tipo: array):

Outro nome para Empresas, para que a entrada escrita para outros Atores funcione: links como strings ou como objetos {"url": "..."}. Mesclado em Empresas.

Exemplo de objeto de entrada do Ator

{
  "companies": [
    "https://boards.greenhouse.io/stripe",
    "linear.app",
    "openai"
  ],
  "excludeCompanies": [
    "openai",
    "stripe.com"
  ],
  "outputMode": "jobs",
  "includeDescription": false,
  "descriptionFormat": "text",
  "maxJobsPerCompany": 50,
  "onlyNewJobs": false,
  "monitorName": "default",
  "includeUpdatedJobs": false,
  "skipReposts": false,
  "alertMaxJobs": 10,
  "alertOnFirstCheck": false,
  "titleIncludes": [
    "engineer"
  ],
  "descriptionIncludes": [
    "Snowflake",
    "dbt"
  ],
  "skills": [
    "Python",
    "Kubernetes"
  ],
  "department": "engineering",
  "jobFunctions": [
    "engineering",
    "data"
  ],
  "location": "London",
  "near": "Berlin",
  "radiusKm": 50,
  "remoteOnly": false,
  "hasSalary": false,
  "minAnnualSalaryCurrency": "USD",
  "postedSince": "7 days",
  "visaSponsorship": false,
  "ukVisaSponsorOnly": false
}

Esquema de saída do Ator

jobs (tipo: string):

Itens do conjunto de dados, um por vaga: company, companyName, matchedBy, companyStatus, title, department, team, location, countryCode, city, remote, seniority, jobFunction, tipo de emprego, salário com seu valor anual, tools (com descrições), postedAt e url. O conjunto de dados tem mais campos (jobId, applyUrl, description, country, region, salaryRanges, charged, warning, error); leia-o com fields=... para manter apenas o que você precisa.

companies (tipo: string):

Matriz JSON, um objeto por empresa na ordem de entrada: companyStatus (ok, no_open_jobs, not_found, no_job_board_found, invalid_input e outros), charged, chargedEvent, companyName, matchedBy (link, website, directory, name ou variante de nome), inputDomain e boardUrl para sites, companyTotalOpenJobs, companyMatchedJobs, companyJobsReturned, newJobsCount, closedJobsCount, updatedJobsCount, error e warning.

companySummaries (tipo: string):

Itens do conjunto de dados com rowType company, um por empresa, quando Linhas para retornar é companies ou both: openJobs, vagas publicadas nos últimos 7 e 30 dias, vagas abertas há mais de 90 dias, participações de remote, engineering e sales, principais departamentos, locais e países, contagens de senioridade e função de trabalho, vagas por função publicadas nos últimos 30 dias, funções de liderança e primeira contratação, principais tools, medianas salariais e vagas novas, fechadas, atualizadas e republicadas com Apenas vagas novas. Com jobs, esta visão não tem linhas de resumo.

API

Você pode executar este Ator programaticamente usando nossa API. Abaixo estão exemplos de código em JavaScript, Python e CLI, bem como a especificação OpenAPI e a configuração do servidor MCP.

Exemplo em JavaScript

import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "companies": [
        "https://boards.greenhouse.io/stripe",
        "https://jobs.lever.co/palantir",
        "https://jobs.ashbyhq.com/ashby"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("conserving_celerytop/live-career-page-jobs-api").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

Exemplo em Python

from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "companies": [
        "https://boards.greenhouse.io/stripe",
        "https://jobs.lever.co/palantir",
        "https://jobs.ashbyhq.com/ashby",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("conserving_celerytop/live-career-page-jobs-api").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

Exemplo em CLI

echo '{
  "companies": [
    "https://boards.greenhouse.io/stripe",
    "https://jobs.lever.co/palantir",
    "https://jobs.ashbyhq.com/ashby"
  ]
}' |
apify call conserving_celerytop/live-career-page-jobs-api --silent --output-dataset

Configuração do servidor MCP

{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,conserving_celerytop/live-career-page-jobs-api"
        }
    }
}

O servidor hospedado faz login com OAuth na primeira conexão, então nenhum token de API pertence a esta configuração. Clientes sem suporte a OAuth podem enviar um cabeçalho Authorization: Bearer <APIFY_API_TOKEN> em vez disso, usando um token de API e Integrações no Apify Console (https://console.apify.com/settings/integrations).

Especificação OpenAPI

Baixe a definição OpenAPI: https://api.apify.com/v2/actors/r9Q1czvsAoCBZUURz/builds/fNdqw62NdGUgQTl7V/openapi.json