Scrape official job listings from Romania's National Employment Agency (ANOFM, mediere.anofm.ro). Returns occupation title, COR code, employer, Romanian county (județ), salary in RON, employment type, education level, and contact details for all 41 județe.
salary_type (gross/net) -- mandatory for employers registering vacancies with ANOFMemployment_type{
"searchQueries": ["programator", "contabil", "sudor"],
"location": "Bucuresti",
"contractTypeId": 2,
"minimumSalary": 4000,
"availableForEUCitizens": false,
"maxResults": 100,
"maxResultsPerQuery": 50,
"includeJobDetails": true,
"maxConcurrency": 3
}{
"_type": "job",
"id": "3360005",
"title": "PROGRAMATOR",
"job_url": "https://mediere.anofm.ro/app/module/mediere/job/3360005",
"source_platform": "anofm.ro",
"company_name": "AllCloud Romania SRL",
"company_tax_code": "36215728",
"location": "BUCURESTI SECTORUL 4, Municipiul Bucuresti",
"country": "RO",
"county": "Municipiul Bucuresti",
"employment_type": "Full-time",
"work_regime": "Hibrid - sediu + telemunca",
"contract_type": "Cu durata nedeterminata",
"cor_code": "251202",
"cor_name": "PROGRAMATOR",
"salary_min": 15000,
"salary_max": 17400,
"salary_currency": "RON",
"salary_period": "month",
"salary_type": "gross",
"open_positions_new": 1,
"open_positions_freed": 0,
"available_for_eu_citizens": false,
"target_group": "PCLM",
"contact_name": "Diana Teashala",
"contact_emails": ["[email protected]"],
"contact_phones": ["0752088232"],
"scraped_at": "2026-08-25T10:00:00Z"
}This actor is the go-to source for Romanian labour market researchers, EU cross-border recruiters, and job aggregators covering Eastern Europe. Because Romanian law requires every employer to register vacancies with ANOFM before filling them, the dataset is more complete than any commercial board. HR analytics vendors use the COR occupation codes to cross-reference with National Institute of Statistics data. Recruiters serving the EU cross-border market filter on the available_for_eu_citizens flag to surface EURES-published positions instantly, without manual review of each posting.
Click Open on Apify above to run anofm-ro-scraper in your browser - no code, no install. In the Apify console you get:
To run this actor from your own code you need an Apify API token. Get one in about a minute:
Free tier: Apify credits your account with $5 of platform usage every month, no credit card required. Enough to test any actor meaningfully - at $0.001 per result on typical scrapers, that is roughly 5,000 results for free every month.
Run this actor from any language via the Apify REST API. Replace YOUR_TOKEN with your API token and adapt the input JSON to your needs.
curl -X POST "https://api.apify.com/v2/acts/santamaria-automations~anofm-ro-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'// npm install apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('santamaria-automations/anofm-ro-scraper').call({});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);# pip install apify-client
from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('santamaria-automations/anofm-ro-scraper').call(run_input={})
items = list(client.dataset(run['defaultDatasetId']).iterate_items())
print(items)// dotnet add package Apify.Client
using Apify.Client;
var client = new ApifyClient("YOUR_TOKEN");
var run = await client.Actor("santamaria-automations/anofm-ro-scraper").CallAsync(new { });
var items = await client.Dataset(run.DefaultDatasetId).ListItemsAsync();// Maven: com.apify:apify-client
import com.apify.client.ApifyClient;
ApifyClient client = new ApifyClient("YOUR_TOKEN");
ActorRun run = client.actor("santamaria-automations/anofm-ro-scraper").call(Map.of());
List<Map<String,Object>> items = client.dataset(run.getDefaultDatasetId()).listItems();This actor is available on the Apify MCP server, so you can drive it from any MCP-compatible AI client - Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or a custom agent - without writing any code.
https://mcp.apify.com?tools=santamaria-automations/anofm-ro-scraperExample prompt once connected:
"Use <code>anofm-ro-scraper</code> to run a scrape on my target list and give me the results as a table."
Clients that support dynamic tool discovery (Claude.ai, VS Code) receive the full input schema automatically via add-actor.
Trigger this actor from your favorite automation tool. Every platform below can call the Apify API in a few clicks - no code required.
@apify/n8n-nodes-apify).santamaria-automations/anofm-ro-scraper.https://api.apify.com/v2/acts/santamaria-automations~anofm-ro-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN.application/json.https://api.apify.com/v2/acts/santamaria-automations~anofm-ro-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN, method POST, body raw JSON.https://api.apify.com/v2/acts/santamaria-automations~anofm-ro-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN.steps.http.$return_value in subsequent steps.https://api.apify.com/v2/acts/santamaria-automations~anofm-ro-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN, body type JSON.