
Global Sources Supplier Scraper
scrape.ly/store/cornerledger/globalsources-scraperLead generationE-commerce
2 monthly users

Scrape Rozee.pk job listings in Pakistan by keyword, city and filters, or from job and search URLs. Get title, company, city, salary in PKR, experience, education, career level, skills, full description, dates and the apply link.
Scrape job listings from Rozee.pk, Pakistan's largest job board, by keyword, city and filters, or from job and search URLs. Each job comes back as one clean row with the title, company, city, salary in PKR, experience, education, career level, skills, the full description, dates and the apply link. No login, plain HTTP, and $0.80 per 1,000 jobs.
software engineer, accountant), or paste Rozee.pk job or search URLs.| Field | What it does |
|---|---|
searchQueries | Keywords, one search each. all = every job on the site; empty + cities = every job in those cities. |
startUrls | Job URLs (/j1858582, /job/detail/1858582, ...-jobs-1858582) or listing pages (/job/jsearch/q/accountant, /jobs-in-lahore). |
maxItemsPerQuery | Max jobs per keyword (per city) or listing URL. 0 = all. |
scrapeJobDetails | Read each job page for positions, education, career level, age, experience range, company size and apply link (default on). |
locations | Pakistani city names or rozee.pk city ids. |
jobType, jobShift, careerLevel, gender, industry | The site's own filters. |
postedWithinDays, minSalary, maxSalary | Extra filters applied to the results. |
{
"searchQueries": ["software engineer", "accountant"],
"locations": ["Lahore", "Karachi"],
"maxItemsPerQuery": 50,
"scrapeJobDetails": true,
"jobShift": "any",
"postedWithinDays": 14
}
| Field | Description |
|---|---|
jid, url | Rozee.pk job id and job page. |
title | Job title. |
company | name, id, address, size, logo, profileUrl, confidential. |
city, cities, cityId, country, coordinates | Location (all cities for multi-city jobs) and map point. |
salary | from, to, currency (PKR), period, formatted, hidden. |
experience | formatted, min, max and the site's ids. |
education | level (minimum education), degreeTitle, formatted. |
careerLevel, gender, ageRange, jobType, jobShift, totalPositions | Requirements and job terms. |
industry, category, department | Classification, when the employer set it. |
skills | Required skills. |
description, descriptionHtml | Full description as text and as HTML. |
datePosted, applyBy | Dates (YYYY-MM-DD, Pakistan time). |
source, applyType, applyUrl | Where the job came from and where to apply. |
searchQuery, searchLocation, searchUrl, scrapedAt | Which search found the job, and when. |
{
"jid": "1917703",
"url": "https://www.rozee.pk/j1917703",
"title": "Assistant/Junior Accountant",
"company": {
"name": "Homemade Cuisine",
"id": null,
"address": "Lahore",
"size": "11-50 employees",
"logo": null,
"profileUrl": null,
"confidential": false
},
"city": "Lahore",
"cities": [
"Lahore"
],
"cityId": "1185",
"country": "Pakistan",
"coordinates": {
"lat": 31.503922024,
"lng": 74.330406188
},
"salary": {
"from": 40000,
"to": 40000,
"currency": "PKR",
"period": "Month",
"formatted": "PKR 40,000 - 40,000 /Month",
"hidden": false
},
"experience": {
"formatted": "2 Years (Maximum Experience)",
"min": "2 Years",
"max": "2 Years",
"minId": "719",
"maxId": "719"
},
"education": {
"degreeTitle": null,
"level": "Bachelors",
"formatted": "Bachelors (Minimum Education)"
},
"careerLevel": "Entry Level",
"gender": "No Preference",
"ageRange": "18 - 65 Years",
"jobType": "First Shift (Day)",
"jobShift": "First Shift (Day)",
"totalPositions": 1,
"category": null,
"industry": "Business Development",
"department": null,
"skills": [
"Account Reconciliation",
"Google Suite",
"Payroll Processing",
"Bookkeeping",
"Financial Reporting",
"Google Sheets",
"Organizational Skills",
"Microsoft Office Suite",
"Attention to Detail"
],
"description": "Homemade Cuisine, a company specializing in gluten-free foods, is looking for a motivated and detail-oriented Junior/Assistant Accountant to join their finance team at their Lahore office, located on Chung, Multan Road, about 15 minutes ahe...",
"descriptionHtml": "Homemade Cuisine, a company specializing in gluten-free foods, is looking for a motivated and detail...",
"datePosted": "2026-10-21",
"applyBy": "2026-10-26",
"isProject": false,
"isActive": true,
"source": "Indeed",
"applyType": "external",
"applyUrl": "https://apply.rozeegpt.ai/1917703?currency=PKR&utm_source=crawljob&d=...",
"searchQuery": null,
"searchLocation": "Lahore",
"searchUrl": "https://www.rozee.pk/job/jsearch/q/all/fc/1185",
"scrapedAt": "2026-10-21T06:03:46.992Z"
}
You pay $0.80 per 1,000 jobs ($0.0008 per job saved), plus a small platform usage fee for compute and proxy traffic. Jobs that are not saved are never charged, and a run stops cleanly when it reaches your maximum charge.
| Job | Jobs | Job fees | Measured usage | About |
|---|---|---|---|---|
| Quick check | 10 | $0.008 | ~$0.001 | $0.01 |
| Weekly feed for one city, with job page details | 300 | $0.24 | ~$0.016 | $0.26 |
| Big pull with job page details | 1,000 | $0.80 | ~$0.064 | $0.86 |
| Every job on the site, list-only (details off) | 6,788 | $5.43 | ~$0.013 | $5.44 |
Usage figures come from real test runs at the default 512 MB memory with the datacenter proxy. Job page details are the slow part: about 1.5 jobs per second with details, about 75 jobs per second list-only.
Is it legal to scrape Rozee.pk? The actor reads only public job listings that anyone can open without an account. Check the site's terms and your local laws for your use case, and handle any personal data in the descriptions responsibly.
Do I need a login or a proxy? No login. The default Scrapely datacenter proxy works. Rozee.pk sometimes shows a bot check to every visitor for a few minutes; the actor then continues through a hosted browser that passes it, so the run keeps going (that browser time is billed as normal platform usage).
How many jobs can I get? As many as the search has: the site lists every match page by page, and all of Pakistan is several thousand jobs. Use maxItemsPerQuery, keywords and cities to scope it.
Why are some fields empty? The actor returns what Rozee.pk shows. Many postings have no published salary, industry or skills. Jobs that Rozee.pk forwards to another site have no job page, so they keep the search data plus the apply link.
Can I schedule it or use the API? Yes. Schedule runs in the console, call it through the Scrapely API, or connect it to webhooks and integrations.
minSalary / maxSalary skip jobs without a published salary.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
searchQueriesarrayOptionalSearch keywords
Job titles, skills or companies, one per line (e.g. software engineer, accountant, sales). Each keyword is its own search. Enter all to list every job on the site, or leave empty to list every job in the chosen cities.
startUrlsarrayOptionalJob or search URLs
Rozee.pk job pages (https://www.rozee.pk/j1858582, .../job/detail/1858582 or any ...-jobs-1858582 link) or listing pages copied from your browser (search results, https://www.rozee.pk/jobs-in-lahore, category pages). Listing pages are paged through like a keyword search.
maxItemsPerQueryintegerOptionaldefault 20Max jobs per search
Maximum number of jobs to save for each keyword (per city) or listing URL. 0 means every job the search has.
scrapeJobDetailsbooleanOptionaldefault trueJob page details
Also read each job's page for total positions, career level, minimum education and degree, age range, experience range, salary period, company size and the apply link. Included in the price; turn off for the fastest list-only runs.
The site's own search filters, plus a posted-date and salary filter applied to the results.
locationsarrayOptionalCities
Pakistani cities (e.g. Lahore, Karachi, Islamabad) or numeric rozee.pk city ids (e.g. 1185). Each keyword is searched in each city. Leave empty for all of Pakistan.
jobTypeenumOptionaldefault "any"Job type
Only jobs of this employment type.
jobShiftenumOptionaldefault "any"Work mode / shift
Only remote, hybrid or day-shift (on-site) jobs.
careerLevelenumOptionaldefault "any"Career level
Only jobs for this career level (as tagged by the employer).
genderenumOptionaldefault "any"Gender preference
Only jobs whose employer asks for this gender. 'Any' includes jobs with no preference.
industryenumOptionaldefault "any"Industry
Only jobs in this industry.
postedWithinDaysintegerOptionalPosted within (days)
Only jobs posted in the last N days (Pakistan time). Leave empty for any date.
minSalaryintegerOptionalMin salary (PKR per month)
Only jobs that show a salary of at least this amount. Jobs without a published salary are left out when this is set.
maxSalaryintegerOptionalMax salary (PKR per month)
Only jobs whose published salary starts at or below this amount. Jobs without a published salary are left out when this is set.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Scrapely datacenter proxy by default. Switch to residential (pinned to Pakistan) if you see blocks.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| jid | string | null | |
| url | string | null | |
| title | string | null | |
| company | object | null | |
| city | string | null | |
| cities | array | null | |
| cityId | string | null | |
| country | string | null | |
| coordinates | object | null | |
| salary | object | null | |
| experience | object | null | |
| education | object | null | |
| careerLevel | string | null | |
| gender | string | null | |
| ageRange | string | null | |
| jobType | string | null | |
| jobShift | string | null | |
| totalPositions | number | null | |
| category | string | null | |
| industry | string | null | |
| department | string | null | |
| skills | array | null | |
| description | string | null | |
| descriptionHtml | string | null | |
| datePosted | string | null | |
| applyBy | string | null | |
| isProject | boolean | null | |
| isActive | boolean | null | |
| source | string | null | |
| applyType | string | null | |
| applyUrl | string | null | |
| searchQuery | string | null | |
| searchLocation | string | null | |
| searchUrl | string | null | |
| scrapedAt | string | null |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Job | One saved Rozee.pk job, job page details included. | $0.0008 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('openrole/rozee-scraper').call({
"searchQueries": [
"software engineer"
],
"maxItemsPerQuery": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run openrole/rozee-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=openrole/rozee-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
No examples yet
The developer hasn't published example inputs for this actor.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.