Vagas Brasil: Brazil Jobs API, Remote & Local Jobs
Pricing
from $2.00 / 1,000 job postings
Vagas Brasil: Brazil Jobs API, Remote & Local Jobs
Monitor open jobs from 49 companies hiring in Brazil (Nubank, Stone, BTG, Inter, XP...) with BRL salary, state, seniority, remote or hybrid and affirmative-action audience. Jobs API on public Greenhouse, Lever, Ashby and InHire boards. Monitor mode charges only new jobs.
Pricing
from $2.00 / 1,000 job postings
Rating
0.0
(0)
Developer
Constancio Dev
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
3
Monthly active users
15 days ago
Last modified
Categories
Security
Limited permissionsShare
Vagas Brasil: Brazil jobs API from public ATS boards
Monitor open jobs from 49 companies hiring in Brazil (Nubank, Stone, BTG Pactual, Inter, XP, C6 Bank...) with BRL salary, state, seniority, remote or hybrid and affirmative-action audience. Each job comes back structured from the public Greenhouse, Lever, Ashby and InHire job boards, and monitor mode charges only the jobs that are new or changed since the last run. Paste the careers page of any other company on these platforms and it joins the run.
Built by Constancio Dev, a small engineering studio focused on data pipelines and B2B automation. constanciodev.com.br
What you get
- 49 companies with open jobs in Brazil, ready to run. Checked on 14/10/2026: Brazilian ones (Nubank, Stone, XP, BTG, C6, Inter, QuintoAndar, VTEX, Cielo, Olist...) and global ones hiring here (Datadog, Databricks, MongoDB, GitLab, Coinbase, Figma...). The input uses all 49 by default.
- Brazil-aware fields. Salary written as "R$ 5.000 a R$ 7.000" becomes
salario_min_brlandsalario_max_brl; Brazilian city and state names becomeuf; postings restricted to an audience ("vaga exclusiva para pessoas negras", "PcD") are listed inpublico_exclusivo. - Brazil filter for global companies. With
so_brasilon (default), a global company keeps only jobs located in Brazil or Latin America; Brazilian companies pass whole. - Monitor mode. Run it daily and pay only for jobs that are new or changed.
- Company hiring signal. With
saida: "empresas"you get one row per company: open jobs by department, seniority, work model and state, plus sample titles. - Official public APIs only. No login, no proxy, no headless browser.
Example output
One dataset item per job. Real item from a test run (13/10/2026):
{"id": "ashby:nubank:6eb06a07-0f7a-4656-9864-e459efa6e41e","fonte": "ashby:nubank","titulo": "Staff Software Engineer - Lending Foundations (Policy & Data Platform)","empresa": "nubank","url": "https://jobs.ashbyhq.com/nubank/6eb06a07-0f7a-4656-9864-e459efa6e41e/application","publicada_em": "2026-08-27T17:34:36.363000+00:00","modelo": "remoto","local": "São Paulo","uf": "SP","salario_min_brl": null,"salario_max_brl": null,"horas_semana": null,"anos_exigidos": null,"senioridade": "staff","mercado": "brasil","publico_exclusivo": [],"coletado_em": "2026-10-13T15:57:32.279253+00:00"}
A job also has descricao (the full text) unless you turn it off. Fields never get guessed:
when the posting does not say it, the value is null.
| Field | Meaning |
|---|---|
modelo | remoto, hibrido or presencial, as declared by the posting |
uf | Brazilian state code, when the location allows it |
salario_min_brl, salario_max_brl | Monthly salary range in BRL, only when the posting states it |
horas_semana, anos_exigidos | Weekly hours and years of experience required, when stated |
senioridade | Level from the title, in Portuguese or English: estagio, trainee, junior, pleno, senior, especialista (staff, principal) or lideranca (manager, lead, head); null otherwise |
mercado | brasil when the posting targets Brazil, internacional otherwise |
publico_exclusivo | Affirmative-action audience the job is restricted to (mulheres, negros, pcd...), read in Portuguese and English; empty when open to everyone |
Input examples
1. Tech jobs at Brazilian fintechs
{"fontes": ["ashby:nubank", "greenhouse:stone", "greenhouse:inter", "greenhouse:btgpactual"],"termos": ["engenheiro", "engineer", "dados", "data"],"incluir_descricao": false}
2. Daily feed of new jobs from all 49 companies (schedule it once a day)
{"modo_monitor": true,"dias_memoria": 90,"incluir_descricao": false}
3. Which companies are hiring right now (for SDRs and recruiters)
{"saida": "empresas","fontes": ["ashby:nubank", "greenhouse:stone", "lever:ciandt"],"urls_ats": ["https://boards.greenhouse.io/suaempresa"]}
Input reference
| Field | What it does |
|---|---|
termos | Optional. Keep only jobs whose title contains at least one of these terms. Empty returns every open job. |
fontes | Preset companies to collect (all 49 by default). |
so_brasil | Global companies list jobs worldwide; on (default) keeps only jobs located in Brazil or Latin America. |
urls_ats | Careers page URLs of other companies on Greenhouse, Lever, Ashby or InHire (https://<company>.inhire.app/vagas). |
incluir_descricao | Include the full job description text (default: true). |
saida | vagas (default): one item per job. empresas: one row per company with its hiring summary. |
modo_monitor | For scheduled runs: deliver and charge only jobs that are new or changed since the last run. |
dias_memoria | Monitor mode: forget a job after it has not been listed for this many days (default 90). |
termos, fontes and urls_ats accept up to 100 entries each.
Company hiring signal (saida: "empresas")
One row per company instead of one item per job. Sources and filters work exactly as in job mode. Real row from a test run (14/10/2026), with the sample trimmed to two titles:
{"id": "ashby:nubank","empresa": "nubank","ats": "ashby","url_board": "https://jobs.ashbyhq.com/nubank","total": 99,"vagas_novas": null,"por_area": {"Engineer": 44, "Enterprise Functions": 28, "Design": 9, "Executive": 6,"Operations": 5, "Machine Learning": 4, "Business Analyst": 1, "People": 1,"Product": 1},"por_senioridade": {"senior": 34, "especialista": 25, "lideranca": 24, "nao_informado": 16},"por_modelo": {"remoto": 84, "nao_informado": 15},"por_uf": {"SP": 30, "MG": 4, "PE": 2, "nao_informado": 63},"mais_antiga_em": "2026-07-17T22:01:31.374000+00:00","mais_nova_em": "2026-10-14T21:33:17.254000+00:00","amostra": [{"titulo": "Procurement Sr Expert","url": "https://jobs.ashbyhq.com/nubank/e7759322-8697-4b3d-9f2e-42da54f925f2/application"},{"titulo": "Tech Lead - Global Offices Network","url": "https://jobs.ashbyhq.com/nubank/985ee82a-c092-42e5-b17d-89fb5a7f5946/application"}],"coletado_em": "2026-10-15T01:43:44.419155+00:00"}
| Field | Meaning |
|---|---|
total | Open jobs at the company that passed your filters |
vagas_novas | With modo_monitor: jobs that appeared since the last company-mode run; null otherwise |
por_area | Jobs per department as the ATS lists it, top 10 |
por_senioridade, por_modelo, por_uf | Jobs per level, work model and state, with the same values as job mode |
mais_antiga_em, mais_nova_em | Publication date of the oldest and the newest open job |
amostra | Up to 5 of the newest jobs, with title and link |
Jobs whose posting does not state a value are counted under nao_informado, so each breakdown
adds up to total (departments show the top 10 only). With modo_monitor, every company still
comes back; vagas_novas tells you which ones just opened jobs.
Pricing
Pay per event, as set in the Actor on 23/10/2026:
| Event | Price |
|---|---|
| Job posting delivered to the dataset | $0.002 ($2 per 1,000 jobs) |
Company summary (only with saida: "empresas") | $0.01 per company, on top of the $0.002 for the row |
| Actor start | $0.00005 per GB of memory |
Jobs removed by your filters cost nothing, and in monitor mode neither do jobs you already received. Set a maximum cost per run in the run options and the Actor stops when it reaches it.
FAQ
Which sites does it read? The public job boards of Greenhouse, Lever, Ashby and InHire, the platforms many Brazilian tech companies use. It does not read Gupy, LinkedIn, Indeed or Vagas.com.
How does monitor mode work? The Actor keeps the jobs it delivered in a Key-Value Store of
your account, with the date each one was last seen. A job that is still listed and has not
changed is not delivered or charged again. A job that changed comes back. A job not listed for
dias_memoria days (default 90) is forgotten, so the list does not grow forever.
Can I add a company that is not in the 49? Yes: paste its careers page URL in urls_ats.
It must be on Greenhouse, Lever, Ashby or InHire.
Is it allowed to collect these jobs? The Actor only reads postings that companies publish
openly through the public APIs of their ATS, without login, and respects robots.txt. Check the
terms that apply to your own use of the data.
Something is wrong or missing? Open an issue on this Actor's page, or write to suporte@constanciodev.com.br.
Limits
- Only companies on these four ATS. The 49 presets are a snapshot of 14/10/2026; a company that changed platform shows up as a failure line in the log.
- Salary only when it is written. Many postings state no salary, and
salario_min_brlstaysnull; the Actor never estimates one. ufneeds a location. A job located only as "Remote" or "Brazil" hasuf: null.- Audience and seniority come from rules.
publico_exclusivoandsenioridadeare read from the title and text with fixed rules, not AI, andsenioridadeisnullwhen the title has no level. - InHire is slower. It lists jobs without their text, so each InHire job takes one more
request: with the four InHire companies (about 100 jobs), a run with every preset took about 3
minutes instead of 1.5 (14/10/2026). Leave them out of
fonteswhen speed matters. - Monitor memory is shared. All monitor runs in your account use one list per mode. Two schedules with different filters share it, so a job delivered by one is not delivered by the other.
- Polite crawler. It identifies itself, respects
robots.txtand waits between requests to the same host.
Em português
Coleta as vagas abertas de empresas que contratam no Brasil pelo Greenhouse, Lever, Ashby e
InHire, só por APIs públicas, e entrega cada vaga com modelo de trabalho, UF, faixa salarial em
reais (quando o anúncio informa), senioridade e público de ação afirmativa. Com
saida: "empresas", entrega uma linha por empresa com o resumo de quem está contratando. No
modo_monitor, só as vagas novas ou alteradas são entregues e cobradas. Desenvolvido por
Constancio Dev.