Naukrigulf Jobs Scraper — Gulf Region Job Board | PPE
Pricing
from $8.73 / 1,000 job-listings
Naukrigulf Jobs Scraper — Gulf Region Job Board | PPE
Scrape Naukrigulf job listings by keyword and location. Get structured job records with titles, companies, experience, vacancies, and URLs. Run with an Apify account and proxy; no login required. Pricing: $0.009 per job-listing dataset item on Free.
Pricing
from $8.73 / 1,000 job-listings
Rating
0.0
(0)
Developer
Vitalii Bondarev
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
Features
Share
Naukrigulf Jobs Scraper
Extract Gulf-region job listings from Naukrigulf.com by keyword and location, with job, company, experience, vacancy, URL, and timestamp fields. On Free, pay $0.009 per job-listing dataset item.
- Search multiple keywords independently and filter by city or region.
- Each record has the job title, company name, experience range, vacancy count and direct job URL.
- Export the dataset as JSON or CSV.
- No Naukrigulf account or login is required.
- Access needs Apify Proxy,
RESIDENTIALgroup, countryAE(UAE).
Runs on a non-paying Apify plan are capped at 1 keyword, 10 items and 1 page per run; paid plans use your searchKeywords, maxItems and maxPages values.
What you get
The Actor returns one dataset record per job listing. Optional source fields can be null.
| Field family | Fields | Format | What it contains |
|---|---|---|---|
| Job identity and search trace | job_id, designation, keyword_query | Strings | Job ID, title, and search keyword |
| Location and timing | location, latest_posted_date, scraped_at | Strings | Location, source posting value, and scrape timestamp |
| Job summary and link | job_info, description, jd_url, vacancies | String, HTML string, URL string, integer | Summary, enriched HTML description, listing URL, and vacancy count |
| Experience | experience.min, experience.max | Integers or null | Minimum and maximum experience |
| Company | company.name, company.id, company.url | Object | Employer name and ID; company.url is currently always null |
| Search tags | keywords, whitelistedkeywords, keywords_ar | Strings or null | Keywords and source tags; keywords_ar is currently always null |
| Employer and media status | is_top_employer, is_featured_employer, is_premium, is_top_employer_lite, logo_url, te_logo_url | Booleans, strings, or null | Employer flags and logo URLs |
| Application and listing status | is_web_job, is_quick_web_job, is_applied, is_form_based_apply, job_redirection, shortlisted, expiring_soon, is_archived, recruiter_active | Booleans or null | Application, listing, and recruiter status |
| Additional source fields | email, bit_flag, designation_seo, is_confidential_company, is_consultant, job_source, is_easy_apply, from_url | Strings, booleans, or null | Additional search or detail values; bit_flag, designation_seo and from_url are currently always null |
Sample output
The sample is shortened to one record and the main result fields; the HTML description is cut after two list items; keyword_query is the search term you entered, not a job category; optional employer, application, and listing-status fields are omitted.
{"designation": "Sales Executive","location": "Dubai - United Arab Emirates (UAE)","job_info": "Identify B2B opportunities in the automotive industry, acquire clients, promote services, and achieve sales targets with strong negotiation and communication skills.","description": "<ul><li><p>Identify and develop new B2B business opportunities within the automotive and automobile workshop industry.</p></li><li><p>Acquire new corporate clients, fleet operators, car rental companies, and automotive businesses.</p></li> ...</ul>","experience": {"min": 2, "max": 4},"company": {"name": "Confidential Company", "id": "224269", "url": null},"job_id": "081126000014","jd_url": "https://www.naukrigulf.com/sales-executive-jobs-in-dubai-uae-in-confidential-2-to-4-years-n-jid-081126000014","latest_posted_date": "1794120183","vacancies": 1,"keyword_query": "accountant","scraped_at": "2026-11-08T06:57:43Z"}
Pricing
The current billing model is pay per event (PPE). apify-default-dataset-item represents one job listing with all fields delivered to the dataset.
apify-actor-start is charged when the Actor starts. Its count depends on Actor memory: one event per GB, with a minimum of one event. The job-listing event has no price, so the buyer is not charged for it.
| Plan | Actor Start event | Dataset item event |
|---|---|---|
| Free | $0.00005 per event on Free | $0.009 per event on Free |
| Bronze | $0.0000495 per event on Bronze | $0.00891 per event on Bronze |
| Silver | $0.000049 per event on Silver | $0.00882 per event on Silver |
| Gold | $0.0000485 per event on Gold | $0.00873 per event on Gold |
| Platinum | $0.000048 per event on Platinum | $0.00864 per event on Platinum |
| Diamond | $0.0000475 per event on Diamond | $0.00855 per event on Diamond |
On the Free plan, dataset item events cost 200 x $0.009 = $1.80, 1,000 x $0.009 = $9.00 and 10,000 x $0.009 = $90.00, excluding the separately priced Actor Start event ($0.00005 per event on Free). A non-paying run is capped at 10 items per run, so these volumes need a paid plan.
Compute, Apify Proxy traffic including residential traffic, and storage are included in event prices and paid by the Actor developer rather than charged separately as platform usage to the buyer.
How to use
- Open the Actor in Apify Store and start a run.
- Set
searchKeywordsto a list of job titles or skills. Each keyword is searched independently. - Enter a city or region in
location, such asdubai,Abu Dhabi, orRiyadh. Empty or omitted values usedubai. - Choose
maxItemsfor the total records andmaxPagesfor pages per keyword. - Keep Apify Proxy on the
RESIDENTIALgroup with countryAE(UAE), required for reliable access to Naukrigulf. The Console prefills it; an API run must pass theproxyConfigurationblock explicitly. - Start the run and collect records from the Dataset tab.
- Repeat the run through Apify Schedules; daily is a starting point for job listings.
{"searchKeywords": ["accountant", "sales executive"],"location": "dubai","maxItems": 100,"maxPages": 5,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "AE"}}
On a non-paying plan, these values are still capped at 1 keyword, 10 items and 1 page. You can also read the dataset through the Apify dataset API.
Input parameters
| Parameter | What it does | Default |
|---|---|---|
searchKeywords | Required list of keyword strings; each entry is scraped independently. | Required; no default stated |
location | City or region filter. Empty or omitted values use dubai. | dubai |
maxItems | Maximum records across all keywords. Accepted range: 1–5000. | 100 |
maxPages | Maximum pages fetched per keyword. Accepted range: 1–100. | 5 |
proxyConfiguration | Proxy settings for Naukrigulf; use Apify Proxy, RESIDENTIAL, and AE. | No default; Console prefills Apify Proxy, RESIDENTIAL, AE |
disableUsageStats | Turns the usage-statistics record off when true. | false |
Limits and edge cases
| Condition | What you see | What to do |
|---|---|---|
| A non-paying run uses multiple keywords or exceeds Free preview limits | Only the first keyword is used; maxItems is limited to 10 and maxPages to 1. | Stay within those Free-plan preview limits. |
maxItems or maxPages is outside the schema range | maxItems supports 1–5000 and maxPages supports 1–100. | Use values within those ranges. |
searchKeywords is missing or empty | The Actor logs that no keywords were provided and returns without scraping. | Provide at least one keyword. |
| A search page returns no jobs | No public data is returned for that keyword and page; pagination stops for that keyword. | Check the keyword and location, then try a broader search. |
| Naukrigulf returns HTTP 403, HTTP 429, or a reCAPTCHA gate | Pagination stops for the affected keyword; records already pushed remain in the dataset. | Keep RESIDENTIAL with country AE and try again. |
| A search request has a network or fetch error | The affected keyword stops; records already pushed remain available. | Check the proxy configuration and retry. |
| A detail request fails or the listing is unavailable | The base record is preserved; description and other detail-only values can remain null. | Use the base fields or retry. |
| The same job appears on multiple pages or keywords | Existing job_id values are deduplicated across the run; records without one are retained. | No special action is required. |
FAQ
How much does it cost to scrape 200 Naukrigulf jobs?
See Pricing for the plan rates. On Free, 200 x $0.009 = $1.80 for dataset items, but non-paying runs are capped at 10 items per run.
Why did my run return no jobs?
No records are returned when searchKeywords is missing or empty. A valid keyword and location can also produce an empty page, which stops pagination for that keyword.
What should I check if the Actor is not working?
Keep Apify Proxy on the RESIDENTIAL group with country AE (UAE). An access block or fetch error stops the affected keyword, while records pushed before it remain available.
Why is the description field empty?
Description comes from a separate per-job detail request. If that request fails or the listing is unavailable, the base record is preserved and description can remain null.
Is it legal to scrape these listings?
The Actor collects public data in the form of publicly visible job listings from Naukrigulf.com through its public-facing search API. Whether a particular use is legal or allowed depends on Naukrigulf’s Terms of Service and applicable law for the buyer’s use case.
Related actors
- Naukri Jobs Scraper — related job-board scraper for Naukri listings.
- Seek Jobs Scraper — related scraper for Australia and New Zealand job listings.
Usage statistics
This Actor creates a small, content-free summary at the end of each run, used only to monitor reliability and improve this Actor. No input values, credentials or scraped data are sent.
A copy of the exact record for your run is saved as USAGE_STATS in your own Apify key-value store.
To opt out, set disableUsageStats to true in the input. Nothing is sent then.