
Apna Jobs Scraper
hipersoft/apna-jobs-scraper
Scrape jobs from apna.co, India's largest blue- and grey-collar job platform: title, company, monthly salary range, incentives, openings, education, experience, shift, work from home, location with coordinates, applicants, benefits and full description.
Total users
2Monthly users
1Total runs
32Per job
$0.0015Last rebuilt
Oct 26, 2026Overview
Apna Jobs Scraper extracts job listings from apna.co, India's largest job platform for blue- and grey-collar jobs such as delivery, drivers, telecallers, sales, field work, back office, accountants and data entry. Every job includes the title, company, monthly salary range, incentives, number of openings, education, experience, shift, part-time and work-from-home flags, full address with GPS coordinates, applicant count, benefits, posting and expiry dates and the full job description. Export to CSV, Excel or JSON.
What does Apna Jobs Scraper do?
Apna lists hundreds of thousands of jobs from employers across India, from Swiggy and Zomato delivery roles to accountants, nurses and sales executives. This scraper turns any Apna job listing into a structured dataset:
- 🇮🇳 Any role, any city: paste listing links like
/jobs/delivery-jobs-in-mumbaior/jobs/work_from_home-jobs, or search by keyword. - 💰 Monthly salary ranges in INR, plus incentives and earning potential.
- 👥 Openings and applicants: number of vacancies and how many people have applied.
- 🎓 Requirements: education, experience, English level, gender preference and skills.
- 🕒 Job type: full time, part time, shift, work from home, walk-in interview.
- 📍 Exact location: address, area, city, latitude and longitude.
- 📝 Full description and benefits, such as weekly payout, health insurance or joining bonus.
What data can you scrape from Apna?
| Field | Description |
|---|---|
| Job ID, title, link | Apna job identifier and page |
| Company and logo | Employer name and logo |
| Salary | Monthly min and max (INR), incentive, earning potential |
| Location | Card location, full address, area, city, coordinates |
| Openings | Number of vacancies |
| Applicants | Number of applicants |
| Department, category, role | e.g. Delivery / Driver / Logistics |
| Employment type and shift | Full time, part time, day/night shift |
| Work from home / walk-in | Boolean flags |
| Experience | Text plus min/max years |
| Education and English | Minimum education and English requirement |
| Gender | Gender preference, if any |
| Skills | Required skills |
| Benefits | Listed perks |
| Tags | Job tags shown on the card |
| Dates | Posted, expiry, last updated, expired flag |
| Description | Full job description |
Use cases for Indian job data
- Staffing and recruitment agencies: find companies hiring delivery partners, drivers, telecallers and sales staff in any city.
- Sales lead generation: hiring employers are expanding, which makes them strong B2B leads for HR tech, payroll and staffing services.
- Labour market research: track blue-collar salaries, openings and demand by city and role across India.
- Job aggregators and apps: feed fresh Indian jobs into your platform or WhatsApp/Telegram job channels.
- Salary benchmarking: compare monthly pay and incentives across employers and cities.
How to scrape Apna jobs
- Click Try for free to open Apna Jobs Scraper in Apify Console.
- On apna.co, open the jobs for a role and city and copy the link, or enter search keywords.
- Keep Include job details on for the description, openings, requirements and coordinates.
- Set Max jobs and click Start.
- Download the jobs as CSV, Excel or JSON.
Input
Example input
{
"startUrls": ["https://apna.co/jobs/delivery-jobs-in-mumbai", "https://apna.co/jobs/work_from_home-jobs"],
"keywords": ["accountant", "telecaller"],
"includeDetails": true,
"maxItems": 500
}
| Field | Description |
|---|---|
| Apna job listing links | Listing pages from apna.co for any role, city or filter. |
| Search keywords | Job titles or skills to search across India. |
| Include job details | Adds description, openings, requirements, benefits, coordinates and dates. |
| Max jobs | Stop after this many jobs (0 = no limit). |
Output
Job example
{
"jobId": "547031731",
"title": "Delivery Associate",
"company": "Swiggy",
"url": "https://apna.co/job/mumbai-bombay/delivery-associate-547031731",
"salaryMin": 50000,
"salaryMax": 100000,
"salaryCurrency": "INR",
"salaryPeriod": "monthly",
"incentive": 25000,
"location": "Pali Hills, Mumbai/Bombay",
"department": "Delivery / Driver / Logistics",
"employmentType": "Full Time & Part Time",
"shift": "day",
"isPartTime": true,
"isWorkFromHome": false,
"isWalkIn": true,
"openings": 10,
"applicants": 45,
"experience": "Freshers can apply",
"education": "10th or Below 10th",
"englishLevel": "No English Required",
"benefits": ["Weekly Payout", "Overtime Pay", "Joining Bonus", "Health Insurance"],
"city": "Mumbai",
"latitude": 19.0673678,
"longitude": 72.8262411,
"postedDate": "2026-09-21",
"expiryDate": "2026-10-06"
}
Output schema
| Field | Type | Description |
|---|---|---|
jobId |
string | Apna job ID. |
title |
string | Job title. |
company, companyLogo |
string | Employer and logo URL. |
url |
string (URL) | Job page. |
salaryMin, salaryMax |
number | Monthly salary range. |
salaryCurrency, salaryPeriod |
string | INR, monthly. |
incentive, earningPotential |
number | Incentive and maximum earning potential. |
location |
string | Location shown on the job card. |
tags |
array | Job tags. |
description |
string | Full job description. |
department, category, role |
string | Job classification. |
employmentType, shift |
string | Employment type and shift. |
isPartTime, isWorkFromHome, isWalkIn |
boolean | Job flags. |
openings |
integer | Number of openings. |
applicants |
integer | Number of applicants. |
experience, minExperienceYears, maxExperienceYears |
string / number | Experience requirement. |
education, englishLevel, gender |
string | Candidate requirements. |
skills, benefits |
array | Skills and benefits. |
address, area, city |
string | Job address. |
latitude, longitude |
number | Coordinates. |
postedDate, expiryDate, lastUpdated |
string | Dates. |
isExpired |
boolean | Job has passed its expiry date. |
source |
string | Listing or search that found the job. |
scrapedAt |
string (ISO date) | When the row was collected. |
How much does it cost to scrape Apna?
Apna Jobs Scraper uses pay-per-job pricing: a small fixed price per job, with automatic discounts on higher Apify plans. See the Pricing tab for the exact price.
More job data
- Naukri Scraper: jobs from Naukri.com.
- Indeed Scraper: jobs from Indeed.
- LinkedIn Jobs Scraper: jobs from LinkedIn.
FAQ
Are salaries monthly?
Yes. Apna shows salaries per month in Indian rupees. salaryMin and salaryMax are monthly INR amounts, and incentive is the extra amount on top.
How do I scrape jobs for one city? Open apna.co, choose the role and city (e.g. "Delivery jobs in Mumbai"), copy the page link and paste it into Apna job listing links.
Can I get work-from-home jobs only?
Yes. Use the link https://apna.co/jobs/work_from_home-jobs, or filter on isWorkFromHome after the run.
How many jobs can I get? As many as the listing has. Large categories have thousands of jobs; set Max jobs to 0 to get them all.
What formats can I export? CSV, Excel, JSON, XML, HTML and RSS, or read the results through the Apify API.
Can I integrate Apna Jobs Scraper with other apps? Apna Jobs Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JS/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Is it legal to scrape Apna? The scraper only collects publicly listed job offers. You are responsible for using the data in line with Apna's terms and Indian data protection law.
Notes
Original clean-room implementation. Returns only public data; you are responsible for compliance with Apna's terms. Not affiliated with Apna.
Input
| Field | Type | Description |
|---|---|---|
startUrlsApna job listing links | array | Job listing pages from apna.co, e.g. https://apna.co/jobs/delivery-jobs-in-mumbai, https://apna.co/jobs/work_from_home-jobs or https://apna.co/jobs. Copy them from the website after choosing a role and city. |
keywordsSearch keywords | array | Job titles or skills to search for across India, e.g. accountant, driver, telecaller, data entry. |
includeDetailsInclude job details | boolean | Open each job to add the description, openings, education, experience, shift, benefits, applicants, exact address with coordinates and dates. Default: true |
maxItemsMax jobs | integer | Stop after this many jobs. 0 means no limit. Default: 200 |
proxyConfigurationProxy configuration | object | Not required for normal use. Default: {"useApifyProxy": false} |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~apna-jobs-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"startUrls": [
"https://apna.co/jobs/delivery-jobs-in-mumbai"
],
"maxItems": 50
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/apna-jobs-scraper").call(run_input={
"startUrls": [
"https://apna.co/jobs/delivery-jobs-in-mumbai"
],
"maxItems": 50
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/apna-jobs-scraper').call({
"startUrls": [
"https://apna.co/jobs/delivery-jobs-in-mumbai"
],
"maxItems": 50
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Job One apna.co job in the dataset. | $0.0015 | $0.0008 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Dribbble Shots Scraper
Scrape public design shots from Dribbble: title, high-res image, tags, likes, views and designer credit. Filter by category or sort, export JSON, CSV or Excel.
359 runs · 5 users · $0.003 / shot scrapedComputrabajo Scraper
Scrape Computrabajo job listings across Latin America (Mexico, Colombia, Argentina, Chile, Peru and more): title, company, location, salary, posted date and apply URL. Filter by country and keyword. No setup.
206 runs · 4 users · $0.002 / listing scrapedKraken Market Data Scraper
Fetch Kraken spot market data in bulk: ticker stats (ask, bid, last, 24h high/low/volume/vwap), OHLC candles for any interval, order book depth (top bids/asks), and tradable pair metadata. Fast, clean and cheap.
165 runs · 4 users · $0.001 / pair scrapedBayt Scraper
Scrape Bayt.com job listings across the Middle East (UAE, Saudi Arabia, Egypt, Qatar and more): title, company, location, posted date and apply URL. Filter by country and keyword.
134 runs · 4 users · $0.003 / job scrapedGitHub Scraper
Search GitHub and scrape repositories (stars, forks, language, topics, license, dates) or user profiles (name, company, location, bio, followers, public email, repos). Uses the GitHub REST API; optional token for higher rate limits. For developer lead generation, OSS research and recruiting.
131 runs · 7 users · $0.0008 / item scrapedHacker News Scraper
Scrape Hacker News stories, comments, Ask HN, Show HN, jobs and polls by keyword, points, comments and date range. Sort by relevance or newest. Title, URL, author, points, comment count, text and HN link. Fast clean HTTP via the HN Algolia API, no setup.
130 runs · 2 users · $0.004 / item scrapedSend the site and the fields. We build it and you get it first.