Foorilla AI Jobs Scraper — ML & Data Roles
Pricing
from $2.00 / 1,000 foorilla job results
Foorilla AI Jobs Scraper — ML & Data Roles
Scrape Foorilla Hiring's Data, AI, and Machine Learning jobs. Get job title, company, location, remote flag, seniority, salary band, posted date, description, and job URL. Filter by keyword and location; no Foorilla login or proxies required.
Scrape the Data, AI, and Machine Learning jobs on Foorilla Hiring. Export job titles, companies, locations, remote-work signals, seniority, salary bands, posting dates, descriptions, and Foorilla job URLs.
Use the Actor for machine-learning job alerts, recruiting research, salary analysis, and AI talent pipelines. It reads public Foorilla pages and requires no Foorilla account, cookies, or proxy configuration.
What does the Foorilla Jobs Scraper extract?
Each dataset item represents one Foorilla job:
| Field | Meaning |
|---|---|
id | Stable numeric ID from the Foorilla job URL |
slug | Human-readable URL slug |
title | Job title |
company | Hiring company from the job detail page |
location | Location text shown by Foorilla |
isRemote | true when the listing contains an explicit remote-work signal; otherwise null |
url | Direct Foorilla job URL |
postedAt | Exact YYYY-MM-DD publication date when available, otherwise a date or timestamp derived from the relative-age label |
postedAtText | Original relative-age label, such as 5d ago |
seniority | Seniority badge, when supplied |
snippet | Compact listing-card text |
description | Full job-description sections from the detail page |
salary | Raw disclosed salary band |
salaryMin / salaryMax | Parsed numeric salary bounds |
salaryCurrency | Three-letter currency code |
salaryPeriod | null when Foorilla does not identify a pay period |
Quick start
- Click Try for free or Run.
- Optionally set a keyword, location, or maximum result count.
- Run the Actor and export the dataset as JSON, CSV, Excel, XML, or another supported format.
Python example:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("nomad-agent/foorilla-ai-jobs-scraper").call(run_input={"searchQuery": "machine learning", "maxItems": 50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["company"], item["url"])
Synchronous HTTP example:
curl -X POST \"https://api.apify.com/v2/acts/nomad-agent~foorilla-ai-jobs-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"maxItems": 50}'
Input
| Field | Type | Default | Notes |
|---|---|---|---|
searchQuery | string | empty | Keeps jobs whose card text contains every entered word, case-insensitively. keyword is accepted as an alias. |
location | string | empty | Case-insensitive location substring, such as Berlin, Germany, or Remote. |
maxItems | integer | 50 | Fetch up to 300 jobs across at most eight Foorilla pages. 0 fetches the first page. |
includeCompany | boolean | true | Deprecated compatibility input. Detail pages are always requested; company stays null when Foorilla omits it, while listings without retrievable descriptions are omitted. |
euBias | boolean | false | Sorts European and remote-EU listings first without excluding other jobs. |
cacheTtlSeconds | integer | 1800 | Caches the first upstream listing page for this many seconds. Use 0 to disable the cache. |
Keyword and location filters are applied to the fetched cards, so a filtered dataset can contain fewer than maxItems results.
Output example
{"id": "3578233","slug": "engineering-ai-systems-lead-remote-gst-hours","title": "Engineering AI Systems Lead","company": "Example company","location": "Remote","isRemote": true,"url": "https://foorilla.com/hiring/jobs/engineering-ai-systems-lead-remote-gst-hours-3578233/","postedAt": "2026-09-08","postedAtText": "1d ago","seniority": "Senior-level","snippet": "Engineering AI Systems Lead Remote ...","description": "Tasks: ... Skills/Tech-stack: ...","salary": null,"salaryMin": null,"salaryMax": null,"salaryCurrency": null,"salaryPeriod": null}
Fields stay null when Foorilla does not publish the corresponding value. The Actor does not infer a salary period or an onsite policy from missing information.
Pricing
Pay per event: $0.005 per Actor start and $0.002 per job returned. A run returning 100 jobs costs approximately $0.205. There is no monthly rental.
Foorilla scraper use cases
- Build Foorilla AI and machine-learning job alerts
- Track AI hiring demand, locations, seniority, and disclosed salaries
- Source ML engineers, data scientists, MLOps specialists, and research scientists
- Feed job boards, spreadsheets, dashboards, and recruiting workflows
FAQ
Does this scrape every category on Foorilla?
No. This Actor is intentionally scoped to Foorilla Hiring's Data, AI, and Machine Learning topic. It does not claim to cover unrelated Foorilla categories.
Does it require a Foorilla login?
No. It reads publicly accessible Foorilla Hiring pages without authentication.
Why can a run return fewer results than maxItems?
The Actor applies your keyword and location filters after fetching listing cards. The source can also have fewer available listings than requested.
How fresh are results?
Each run reads the current Foorilla listing. The first page is cached for 30 minutes by default; set cacheTtlSeconds to 0 to disable that cache.
Something broken or missing?
Open an issue on the Actor's Issues tab with the run ID and input. Source failures are recorded in the run's RUN-SUMMARY key-value-store record.
Related Actors
- AI & ML Engineer Jobs Scraper — 8 Boards in One
- Hacker News Who Is Hiring Scraper
- LinkedIn Jobs Scraper
- Built In Jobs Scraper
Built by Nomad Agent, creator of the open-source Oink AI Job Search.