Naukrigulf Jobs Scraper
Naukrigulf job listings as data: title, company, city, experience, skills, salary and full description, for the UAE, Saudi Arabia, Qatar and the whole Gulf.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
keywords,country,city(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Pricing
$0.00055 per job = $0.55 per 1,000
| You are charged for | When | Price |
|---|---|---|
| Job returned | One job returned in the dataset. The site's looser matches, jobs outside your filters and repeats are never charged. | $0.00055 |
Pay-per-event pricing: you are billed per result, not per subscription. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-09-14, and they are what you are actually charged.
Inputs
| Field | What it does | Type |
|---|---|---|
keywords | Job titles or skills, one per line, up to 20. Each line is its own search, and a job only comes back when it has every word of the line in its title, skills, summary, company or place. Leave this empty and use the filters below to get the newest jobs that fit them. | array |
country | Only jobs in this country. | string |
city | Only jobs in this city, written the way Naukrigulf writes it: Dubai, Abu Dhabi, Sharjah, Riyadh, Jeddah, Doha, Muscat, Manama, Cairo, Amman. Leave it empty for the whole country. | string |
industries | Only jobs in these industries, as Naukrigulf files them. A job in any of the ones you pick comes back. Some of Naukrigulf's newer industries, Accounting and Consulting among them, aren't in the list: its own filter for those also brings back jobs from another industry. | array |
functionalAreas | Only jobs in these job functions, as Naukrigulf files them. A job in any of the ones you pick comes back. The narrower functions Naukrigulf added later, such as Software Development or Drilling, aren't in the list: its own filter for those also brings back the broader function's jobs. | array |
experienceYears | Only jobs whose experience range includes this many years: 3 keeps a 2-5 years job and drops a 6-10 years one. Leave it empty for any. | integer |
experienceBands | Naukrigulf's own experience filter: jobs whose experience range reaches into any band you pick. A 4-8 years job counts as both 2-5 and 6-10. | array |
salaryBands | Naukrigulf's own salary filter, in US dollars a month whatever currency the job pays in. A job whose salary range reaches into any band you pick comes back. Naukrigulf also files a salary the employer hid, so a band can bring back jobs whose salary you can't see; those rows say salaryHidden. Not mentioned is for jobs with no salary on record. | array |
employerType | Jobs posted by the hiring company itself, or by a recruitment consultant on its behalf. | string |
workMode | On-site or remote, as the job itself states it. Naukrigulf's search has no such filter, so each job's own page is opened to check, which switches details on. A job that doesn't state its work mode is left out. | string |
nationalities | Jobs whose employer asks for any of these nationality groups, as Naukrigulf groups them. Any nationality is the group of jobs open to everyone. | array |
genders | Jobs whose employer asks for any of these. Any means the employer says either is fine; Not mentioned means the job doesn't say. | array |
easyApplyOnly | Only jobs you can apply for on Naukrigulf itself. | boolean |
postedWithinDays | Only jobs posted this recently. Naukrigulf keeps jobs for about 60 days, so any time means the last 60 days or so. | string |
maxResults | The most jobs returned in one run, across all your searches. Each job returned is charged. | integer |
includeDetails | Adds the full description, the monthly salary when the employer shows it, industry, job function, employment type, work mode and the candidate requirements. Switch it off for the search-result fields only, which is several times faster. | boolean |
What you get
A structured dataset — each result includes fields like:
titlecompanylocationexperienceMinexperienceMaxsalaryTextpostedAturlcitiescountrysalaryMinsalaryMaxsalaryCurrencyindustryjobFunctionemploymentTypeworkModeeducationskillsdescriptionExport every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.
Related tools in Developer & Research Tools
Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.
GitHub Scraper
Search GitHub repos and users: stars, forks, language, topics, licence, plus user bio, company and followers. No token needed. $0.90 per 1,000 rows.
Stack Overflow / Stack Exchange Scraper
Search Stack Overflow and Stack Exchange by keyword or tag. Score, answer count, views, reputation and body text. $2 per 1,000 questions.
Package Registry Scraper (npm + PyPI)
Get npm and PyPI package metadata as JSON. Version, license, author, repo, keywords and npm monthly downloads. $2 per 1,000 packages.
arXiv Scraper
Search arXiv papers by title, author, abstract or category. Get full abstracts, authors, categories, DOI, dates and PDF links. $2 per 1,000 papers.
OpenAlex Scholarly Works Scraper
Search 250M+ OpenAlex papers with no API key. Get titles, authors, venue, year, citations, DOI, OA links and full abstracts. $2.00 per 1,000 papers.
Crossref Scholarly Works Scraper
Search 150M+ papers on Crossref: DOI, title, authors, journal, publisher, date, citations and abstract. No API key. $1.00 per 1,000 works.
Where this tool sits
- Categories
- Developer & Research Tools
Naukrigulf Jobs Scraper: Gulf and MENA job listings with salaries and full details
Type job titles or skills, narrow by country, city, experience, industry, salary band or posting date, and get one row per job: company, place, experience range, skills, summary, posted time and the link. With details on you also get the full description, the monthly salary when the employer shows it, the industry, the job function and the candidate requirements.
The matching is literal, which is worth knowing before you write your search. A job comes back only if its own text holds every word of your line, so QA engineer misses Quality Assurance Engineer.
| Input | Search words plus Naukrigulf's own filters |
| Output | One row per job |
| Ceiling | 50,000 jobs per run, across 20 searches |
| Account needed | None |
| Price | $0.55 per 1,000 jobs, flat on every plan |
🌍 What Naukrigulf Jobs Scraper does
Naukrigulf covers the Gulf and much of the wider region: the UAE, Saudi Arabia, Qatar, Kuwait, Oman, Bahrain, Egypt, Lebanon, Jordan, Iraq, Morocco, Algeria, Tunisia and Libya.
Each line in Search words is its own search. Ten lines is ten searches, and a job found by two of them is delivered and charged once. With no words at all, the filters give you the newest jobs that fit them.
Filters are checked, not assumed. Country and city are re-checked on every job, because the site widens a place filter it cannot match. Industry and function are checked against the search's own facet list, and if another group's jobs were mixed in, that search is stopped before anything is charged.
📥 What you give it
{
"keywords": ["accountant", "financial analyst"],
"country": "AE",
"city": "Dubai",
"experienceYears": 3,
"postedWithinDays": "7",
"maxResults": 500
}
| Field | Default | What it is |
|---|---|---|
keywords | none | Up to 20 lines, each its own search. |
country | ANY | One of 14. With none set, a few jobs from outside the region come through. |
city | none | As Naukrigulf writes it: Dubai, Abu Dhabi, Riyadh, Doha, Muscat, Cairo. |
industries | all | 45 of Naukrigulf's own industries. |
functionalAreas | all | 38 job functions. |
experienceYears | none | A single number. 3 keeps a 2-5 years job and drops a 6-10 one. |
experienceBands | none | The site's own bands. A 4-8 years job counts as both 2-5 and 6-10. |
salaryBands | none | Monthly, in US dollars, whatever the job pays in. |
employerType | ANY | The hiring company itself, or a recruitment consultant. |
workMode | ANY | On-site or Remote, read from each job's own page. |
nationalities, genders | none | What the employer asks for, as Naukrigulf groups it. |
easyApplyOnly | false | Only jobs you can apply for on Naukrigulf itself. |
postedWithinDays | ANY | Last day, 3, 7, 15 or 30. |
maxResults | 100 | 1 to 50,000, across every search in the run. |
includeDetails | true | Opens each job's own page for the description, salary, industry, function, work mode and requirements. Off is several times faster. |
Some industries and job functions are missing from the lists on purpose. Naukrigulf's own filter for Accounting also returns Banking and Finance jobs, and its Software Development filter returns the whole of IT Software. Rather than hand you the wrong jobs, 23 industries and 21 functions are left out. Use search words for those.
workMode costs job reads, because the search has no work-mode filter and each job's own page has to be opened to check. Of 138 jobs checked, 89 said on-site, 11 said remote and 38 said nothing at all. A job that does not state its mode is left out, uncharged.
📤 What you get back
A real row, from run 7C1WaW2u9wkprCUm9, its long text fields cut short:
{
"jobId": "130926000615",
"title": "Accountant Cum Secretary",
"company": "Vita Smile Dental Laboratory",
"companyId": "359933",
"location": "Abu Dhabi - United Arab Emirates (UAE)",
"cities": ["Abu Dhabi"],
"country": "United Arab Emirates (UAE)",
"experienceMin": 0, "experienceMax": 6,
"summary": "Responsible for bookkeeping, invoicing, accounts payable/receivable, payroll ...",
"skills": ["Bookkeeping", "Time Management", "Admin Accountant", "Office Accountant", "..."],
"postedAt": "2026-09-13T08:31:44.000Z",
"vacancies": 1,
"url": "https://www.naukrigulf.com/accountant-cum-secretary-jobs-in-abu-dhabi-uae-...-jid-130926000615",
"companyLogoUrl": null,
"featuredEmployer": false, "topEmployer": false, "sponsored": false,
"detailsIncluded": true,
"description": "- Bookkeeping\n- Tally Software experience is a plus\n- Invoicing\n- ...",
"salaryMin": null, "salaryMax": null, "salaryCurrency": null, "salaryText": null,
"salaryHidden": true,
"industry": "Medical / Healthcare / Diagnostics / Medical Devices",
"jobFunction": "Accounts / Taxation / Audit / Company Secretary",
"employmentType": "Full-time",
"workMode": "On-site",
"education": "Bachelor of Commerce(Commerce), Bachelor of Business Administration(Management)",
"nationality": "Any Nationality", "gender": "Any",
"candidateProfile": "Education\n- Bachelor's degree in Commerce, Accounting, Finance, ...",
"companyProfile": "Dental Laboratory",
"recruitmentAgency": false, "confidentialCompany": false, "expired": false,
"searchKeyword": "accountant", "searchCountry": "United Arab Emirates", "searchCity": null,
"scrapedAt": "2026-09-13T21:19:47.910Z"
}
| Field | What it is |
|---|---|
jobId | Naukrigulf's own id. Your dedupe key across runs. |
salaryHidden | true when Naukrigulf holds a salary the employer chose not to show. The salary fields are then empty, as on the row above. |
industry vs jobFunction | The employer's sector against the role itself. A dental lab hiring an accountant is Medical for one and Accounts for the other. |
detailsIncluded | Whether this row got the detail pass. |
searchKeyword, searchCountry, searchCity | Which of your searches produced the row. |
experienceMin, experienceMax | Years, as the job states its range. |
recruitmentAgency, confidentialCompany | Posted by a consultant, and posted without naming the employer. |
🧾 Reading the output
The dataset holds jobs and nothing else. No refusal rows, no blank lines. A run with no words and no filters returns one labelled sample row, uncharged.
Two views: overview for the search columns, details for what the detail pass adds.
The rest is in a key-value record called RUN_REPORT: the filters by name, and per search what was listed, what was returned, how many fell outsideFilters, how many were the wrong otherWorkMode, and mixedWith when a search was stopped. The run's status message says the same in one sentence.
None of these are ever charged: a job missing one of your search words, a job outside the place or any other filter, a job found again by a second search, a job whose own page would not load when details were on, a stopped search, and the sample row.
▶️ How to run it
1. Open Naukrigulf Jobs Scraper, click Try for free. 2. Put your titles or skills in Search words, one per line. 3. Set Country, and City to tighten it. 4. Add Posted within, an experience or salary band, or an industry. 5. Set Maximum jobs, click Start, then download the dataset as JSON, CSV or Excel.
💰 How much does it cost?
$0.55 per 1,000 jobs. The same rate on every Apify plan, with no volume tiers.
One charge per job row delivered. Full details do not change the price: the extra page read per job is included.
💡 What people use it for
- A daily feed of new roles in one city and trade, using
postedWithinDayson a schedule. - Salary research, reading
salaryMin,salaryMaxandsalaryHiddentogether. - Seeing which employers and consultants are actively hiring in a sector.
- Pulling requirements text from many postings to see what skills a market asks for.
- Comparing the same role across Dubai, Riyadh and Doha in one run.
🚧 What it does not do
- No recruiter contact details. That block is left out of every row on purpose.
- No applying. It reads listings.
easyApplyOnlynarrows the search, nothing more. - Search words are literal, so synonyms and other phrasings are missed.
- A salary band also returns jobs whose salary is hidden. Naukrigulf knows the figure and the
employer chose not to publish it. salaryHidden marks those rows.
- "Posted by" is not always reliable. The site's filter and the jobs' own pages disagree on
some, and with details on the disagreeing ones are dropped.
- 23 industries and 21 job functions are not offered, for the reason above.
- The industry and function lists were read on one day. Anything added later is missing.
- About 60 days of jobs exist on the site, and one search tops out around 45,000 results.
- The place on a row is the search's; a few job pages carry a finer locality.
- With no country set, a few jobs from outside the region come through.
🧭 Which jobs scraper do you need?
| If you want | Use |
|---|---|
| Gulf and MENA jobs on Naukrigulf | This one |
| India jobs on Naukri | Naukri Jobs Scraper |
| Gulf jobs on GulfTalent | GulfTalent Jobs Scraper |
| Jobs straight off a company's careers page | Career Site Jobs Scraper |
| Jobs by keyword and location on LinkedIn | LinkedIn Jobs Scraper |
❓ Questions people ask
Do I need a Naukrigulf account? No. Nothing to paste in, nothing to renew.
Why did my search miss an obvious job? One of your words is not in the job's own text. Shorten the line, or run two short lines instead of one long one.
Why is the salary empty on a job I found through a salary band? The employer hid it. Naukrigulf still files the job under the band, and salaryHidden marks those rows.
Should I turn details off? Only if the search-result columns are enough. Off is several times faster; on costs the same per job.
Why did a whole search return nothing? Read RUN_REPORT. Either nothing matched, or the search was stopped because other jobs were mixed into it. Neither is charged.
Is this legal? These are public listings and no recruiter contact details are collected. Rows carry employer names, which data-protection law can cover, and Naukrigulf's own terms restrict automated access, so the decision to run it is yours. Apify's write-up on scraping and the law is a fair start, and we are not lawyers.
🆘 If something breaks
Open the Issues tab on the actor page. Send the run ID and the exact search line, and paste the RUN_REPORT record: it has a line per search with what was listed, returned and dropped.