Naukrigulf Jobs Scraper
Pricing
Pay per event
Naukrigulf Jobs Scraper
Search public Naukrigulf jobs and export normalized job, employer, location, experience, date, description, skills, and source records for Gulf recruiting research.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract current naukrigulf jobs for Gulf recruiting and labor-market research. Search by role and location, or supply an existing Naukrigulf search URL, then export normalized job, employer, experience, location, posting-date, and source records. Optional detail enrichment adds descriptions, skills, salary metadata, education, industry, work mode, and public recruiting fields when the employer discloses them.
What does Naukrigulf Jobs Scraper do?
Naukrigulf Jobs Scraper turns public search results into analysis-ready records. It can:
- search one or more job keywords;
- filter searches by a Gulf city or country;
- process configured Naukrigulf result URLs;
- paginate through up to 1,000 unique jobs per run;
- enrich each result with its public detail record;
- preserve useful search-card data if one detail request fails;
- deduplicate jobs by Naukrigulf job ID;
- export results as JSON, CSV, Excel, XML, or through the Apify API.
The Actor uses Naukrigulf's public structured web services. It does not require a Naukrigulf account, applicant profile, employer login, or third-party API key.
Who is this Naukrigulf jobs scraper for?
Recruiting teams
Refresh a list of open roles by specialty and market. Use employer, experience, skills, and location fields to prioritize sourcing work.
Labor-market analysts
Collect comparable snapshots for Dubai, the UAE, Saudi Arabia, Qatar, Kuwait, Oman, and Bahrain. Store scheduled-run datasets in a warehouse to compare hiring activity over time.
Staffing and sales teams
Identify companies advertising roles in a target discipline. Use the canonical job URL to verify a listing before outreach.
Data teams
Feed normalized job records into dashboards, spreadsheets, databases, or an ATS.
Use jobId as the stable source key for downstream deduplication.
Why use this Actor?
- Two input routes: keyword/location searches and existing search URLs.
- Full details on demand: choose rich records or faster search-card scans.
- Typed output: dates, experience bounds, salary bounds, arrays, and booleans.
- Safe partial enrichment: a failed detail lookup does not discard its job card.
- Bounded pagination:
maxItemsis respected across all supplied searches. - No residential fallback: the Actor uses the lower-cost Apify datacenter route.
- Pay per result: empty searches and duplicate records do not trigger item events.
What Naukrigulf data can I extract?
| Field | Meaning |
|---|---|
jobId | Stable Naukrigulf job identifier |
title | Published job title |
companyName, companyId | Hiring employer identity |
location | Published city/country text |
experienceMin, experienceMax | Structured experience bounds when available |
experienceText | Experience text from the result card |
description, descriptionHtml | Plain-text and source HTML descriptions |
desiredCandidateProfile | Desired-candidate requirements |
skills | Parsed list of skills and keywords |
salaryMin, salaryMax, salaryCurrency | Disclosed salary metadata |
salaryHidden | Whether the employer hid the salary |
vacancies | Published vacancy count |
postedAt | ISO 8601 posting timestamp |
education | Education requirement |
employmentType | Full-time or other published employment type |
workMode | On-site or other published location mode |
industry, functionalArea | Source classification fields |
nationality, gender | Published candidate requirements |
recruiterName, recruiterTitle, recruiterEmail | Public recruiting fields when disclosed |
companyProfile, companyLogoUrl | Employer profile and logo |
jobUrl | Canonical public job URL |
sourceQuery, searchedLocation | Search provenance |
scrapedAt | Extraction timestamp |
Missing source values are returned as null or an empty array. Recruiter email is
returned only when Naukrigulf marks it as visible; hidden contact values are not
exposed.
How to scrape Naukrigulf jobs
- Open the Actor in Apify Console.
- Enter one or more search queries, such as
software engineer. - Enter a location, such as
Dubai,UAE,Riyadh, orQatar. - Choose how many jobs to save.
- Keep Include full job details enabled for rich records, or disable it for a faster recurring scan.
- Click Start.
- Open the Jobs dataset to inspect or export the results.
A useful first input is:
{"queries": ["software engineer"],"location": "Dubai","maxItems": 20,"includeDetails": true}
Input parameters
| Input | Type | Default | Description |
|---|---|---|---|
queries | string array | ['software engineer'] | Titles, skills, or keywords; up to 20 |
location | string | Dubai | Optional city or country used for every query |
searchUrls | URL array | none | Existing public Naukrigulf search-result URLs |
maxItems | integer | 100 | Unique jobs saved across all searches; 1–1,000 |
includeDetails | boolean | true | Fetch rich public detail data for every job |
Provide at least one non-empty query or one supported search URL. When both routes are supplied, the Actor processes both and deduplicates overlapping jobs.
Use an existing Naukrigulf search URL
Pass a result page when a search is already configured:
{"searchUrls": [{ "url": "https://www.naukrigulf.com/software-engineer-jobs-in-dubai" }],"maxItems": 50,"includeDetails": false}
The Actor extracts software engineer and Dubai from this URL. Unsupported hosts
and non-search paths fail with a clear input error rather than silently changing
scope.
Example output
A detail-enriched row resembles this shortened real-output shape:
{"jobId": "270726000350","title": "Commercial Drone Pilot & Geospatial Data Analyst","companyName": "BARARI NATURAL RESOURCES LLC","location": "Dubai - United Arab Emirates (UAE)","experienceMin": 3,"experienceMax": 5,"skills": ["GIS", "Remote Sensing", "Aerial Surveying"],"salaryMin": null,"salaryMax": null,"salaryCurrency": "AED","salaryHidden": true,"vacancies": 1,"postedAt": "2026-07-27T04:00:00.000Z","education": "Bachelor of Technology/Engineering(Aviation)","employmentType": "Full Time","workMode": "On Site","industry": "Defence / Military / Government","functionalArea": "IT Software","jobUrl": "https://www.naukrigulf.com/commercial-drone-pilot-geospatial-data-analyst-jobs-in-dubai-uae-in-barari-natural-resources-llc-3-to-5-years-n-cd-131843-jid-270726000350","sourceQuery": "data analyst","searchedLocation": "Dubai"}
Fields not shown above remain available in the dataset schema.
Fast scan or full details?
Set includeDetails to true when descriptions, skills, education, salary,
industry, candidate profile, or recruiting fields matter. This mode makes one
additional bounded request for each accepted job.
Set it to false for frequent title/company/location scans. Search cards still
include the stable ID, title, employer, location, experience text, snippet,
posting timestamp, and canonical URL. This mode is faster and cheaper to run.
How much does it cost to scrape Naukrigulf jobs?
The Actor uses pay-per-event pricing: one small start event per run and one
item event per unique saved job. Item prices decrease across Apify pricing tiers.
The current price is displayed in the Actor's Pricing tab before you start.
At the Free-tier rate of $0.00092 per item plus a $0.00005 start event:
- 20 jobs cost about $0.01845;
- 100 jobs cost about $0.09205;
- 1,000 jobs cost about $0.92005.
These examples describe Actor charges. Actual platform usage can vary with detail mode, run time, and proxy transfer. No item event is emitted for an empty search, a duplicate job, or a failed detail request that cannot produce a valid row.
Schedule recurring Gulf hiring searches
Save a working input as an Apify Task and schedule it daily or weekly. For example:
{"queries": ["data engineer", "cyber security"],"location": "UAE","maxItems": 100,"includeDetails": false}
Each run produces a current snapshot. Compare jobId values in your database,
spreadsheet, or automation to identify additions and removals. The Actor does not
itself claim that every listing changed; downstream comparison controls that rule.
Export Naukrigulf jobs to a spreadsheet
From the run dataset:
- choose Export;
- select CSV or Excel;
- select all fields or a saved view;
- download the file.
For recurring exports, connect the dataset to Google Sheets, Make, Zapier, or a webhook-driven data pipeline.
Integrations and workflow ideas
- Append weekly snapshots to BigQuery or PostgreSQL for hiring-trend analysis.
- Send newly observed
jobIdvalues to an internal recruiting channel. - Group results by
companyNameto spot employers with multiple active roles. - Count
skillsacross datasets to track role requirements. - Route canonical
jobUrlvalues to a human verification queue. - Use rich detail mode for research and fast mode for frequent refreshes.
Run through the Apify API with JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/naukrigulf-jobs-scraper').call({queries: ['data analyst'],location: 'Dubai',maxItems: 50,includeDetails: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Run through the Apify API with Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("automation-lab/naukrigulf-jobs-scraper").call(run_input={"queries": ["data analyst"],"location": "Dubai","maxItems": 50,"includeDetails": True,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Run through the Apify API with cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~naukrigulf-jobs-scraper/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"queries": ["sales manager"],"location": "Riyadh","maxItems": 25,"includeDetails": true}'
Fetch the resulting dataset with the defaultDatasetId returned by the run API.
Use Naukrigulf Jobs Scraper with MCP
Add the Apify MCP server to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/naukrigulf-jobs-scraper"
Claude Desktop: add this server under mcpServers in Claude's configuration.
Cursor: open MCP settings and add the same server URL.
VS Code: add the server URL through your MCP extension or workspace MCP configuration.
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/naukrigulf-jobs-scraper"}}}
Example prompts:
- “Find 30 data analyst jobs in Dubai on Naukrigulf and summarize required skills.”
- “Export current cyber security jobs in the UAE with employer and experience.”
- “Run a fast scan of this Naukrigulf search URL and group jobs by company.”
Limits and responsible use
- Results depend on jobs currently exposed by Naukrigulf's public services.
- The Actor supports a maximum of 1,000 saved jobs per run.
- Location matching follows Naukrigulf's own search behavior.
- Some employers omit salary, education, recruiter, or work-mode fields.
- Hidden recruiter email is returned as
null. - Detail enrichment adds requests and run time.
- The Actor does not apply to jobs, log in, or access private candidate data.
- Use reasonable schedules and comply with applicable law and source terms.
Failure and retry behavior
Transient network failures and temporary upstream server errors are retried once. A failed detail request logs a warning and keeps the valid search card. A failed search page fails the run so users do not mistake an upstream outage for a real empty market. Unsupported URLs and malformed limits fail before scraping starts.
Is it legal to scrape Naukrigulf?
This Actor extracts information exposed on public job pages and public web-service responses. Scraping law and contractual requirements vary by jurisdiction and use. You are responsible for your purpose, retention, redistribution, and compliance. Avoid using job or recruiter data for spam, discrimination, or decisions that violate privacy and employment law. Review Naukrigulf's current terms and Apify's responsible scraping guidance before production use.
FAQ
Why did I receive fewer jobs than maxItems?
The source may have fewer matches, multiple searches may overlap, or the source may
end pagination early. maxItems is a ceiling, not a promise of inventory.
Why are detail fields null?
The employer may not have disclosed them, or an individual detail request may have failed while its search card remained valid. Check the run log for an enrichment warning.
Why did the run fail instead of returning zero rows?
The Actor distinguishes a valid empty result from an unavailable search response. A network timeout, challenge page, or invalid content type fails visibly to prevent false monitoring conclusions.
Can I search several countries in one run?
Use separate search URLs, or run separate Tasks per country. A single location
value is applied consistently to every item in queries.
Does the Actor monitor changes by itself?
It produces consistent current snapshots. Schedule Tasks and compare stable
jobId values in your spreadsheet, database, or automation to define “new” or
“removed” for your workflow.
Related automation-lab Actors
- Google Jobs Scraper for broader multi-source job discovery.
- LinkedIn Jobs Scraper for LinkedIn-specific job research.
- Greenhouse Jobs Scraper for employer-hosted Greenhouse boards.
Naukrigulf Jobs Scraper is not affiliated with Naukrigulf or its parent company. Source fields and availability can change without notice.