Daemon Data

Apna (apna.co) jobs with salaries as JSON API

Apna Jobs Scraper is a pay-per-record Apify Actor by Daemon Data that returns Apna (apna.co) India jobs with salary, locality, department, work mode and full descriptions; full-board export as JSON, CSV or Excel. It costs $0.0008 per job with the default options ($0.80 per 1,000); no login to the source site, no proxy, no browser, and the same input runs from the Apify console, one REST call, Python, Node.js, n8n or an AI assistant through MCP.

Daemon Data Apna Jobs Scraper on Apify   Listing as plain text

Checked on 26 Oct 2026

Delhi-NCR 4,940 open jobs, Bengaluru 3,650, Mumbai 3,400, Hyderabad 1,770, Pune 1,770. By department: Sales & BD 12,540, Banking / Insurance / Financial Services 9,930, Delivery / Driver / Logistics 4,410, Software Engineering 4,280, Finance & Accounting 4,010. There were 8,930 field jobs and 2,960 part-time jobs.

Who uses it, for what

You areWhat you get
Job aggregators and job-alert appsApna as a source: stable ids, salary, locality, department, full description and a board-wide daily feed (All jobs + Last 24 hours + only-new). Same conventions as the IIMJobs, Hirist, Foundit, Instahyre and Unstop Actors by the same publisher.
Staffing agencies and recruitersWho is hiring telecallers, delivery riders or field sales staff in your city this week, at what salary, with how many openings.
Labour-market and salary analystsEntry-level and frontline salaries by city, department and role, the share of field and night-shift jobs, demand trends by locality.
B2B sales and lead generationA company posting 20 delivery openings in Pune is expanding there. Each row has the company name and Apna organisation id.
HR-tech, skilling and government programmesWhich jobs ask for ITI, a diploma or 12th pass, and the English level required, by district.
AI agents (MCP)Ask Claude or ChatGPT "new telecaller jobs in Jaipur posted today with salary" and let it call this Actor through Apify's MCP server.

Output fields

The most useful top-level fields with values from a real record; the full list is id, url, title, company, companyId, companyLogo, department, category, role, city, state, area, pincode, latitude, longitude, locationText, workMode, employmentType, shift, salaryMin, salaryMax, salaryCurrency, salaryPeriod, earningPotential, incentives, experienceMinYears, experienceMaxYears, experienceText, education, englishLevel, openings, tags, isExternalJob, externalApplyUrl, postedAt, updatedAt, expiresAt, description, searchTerm, scrapedAt. Per-field notes and the OpenAPI definition are on the Apify API page.

FieldTypeExample
idnumber149578990
urlstring"https://apna.co/job/kolkata-calcutta/recruiter-general-staffing-14...
titlestring"Recruiter (General Staffing )"
companystring"2Coms Consulting Pvt Ltd."
companyIdnumber405182
departmentstring"Human Resources"
categorystring"Human Resource"
rolestring"Senior Recruiter"
citystring"Kolkata"
statestring"West Bengal"
areastring"Kolkata"
pincodestring"700073"
latitudenumber22.5743545
longitudenumber88.3628734
locationTextstring"All areas in Kolkata/Calcutta Region"

Input and how to call it

A verified example input (it returned data on 2026-10-26):

{
  "cities": [
    "Pune"
  ],
  "departments": [
    "Delivery / Driver / Logistics"
  ],
  "postedWithin": "7d",
  "maxJobsPerSearch": 50
}

One HTTP call starts a run, waits for it and returns the records (token from console.apify.com):

curl -X POST "https://api.apify.com/v2/acts/data_daemon~apna-jobs-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"cities": ["Pune"], "departments": ["Delivery / Driver / Logistics"], "postedWithin": "7d", "maxJobsPerSearch": 50}'

Python: ApifyClient(token).actor("data_daemon/apna-jobs-scraper").call(run_input=...), full file python/apna-jobs-scraper.py. Node.js: node/apna-jobs-scraper.mjs. n8n: importable workflow. AI assistant (MCP): add the remote server https://mcp.apify.com/?tools=data_daemon/apna-jobs-scraper with header Authorization: Bearer YOUR_APIFY_TOKEN in Claude, ChatGPT, Cursor or VS Code and ask for the data in plain words.

All input fields

FieldTypeMeaning
searchTermsarrayJob titles or skills, e.g. telecaller, delivery boy, accountant, python developer, driver. One Apna search per keyword; Apna returns at most 500 jobs per keyword. Leave empty for the latest jobs, filtered by city, department and the options below.
allJobsbooleanIgnore the keywords and export every open Apna job, department by department (about 71,000 of the 76,800 open jobs on 26 Oct 2026 carry a department). Combine with Only new jobs since the last run for a daily feed, or with cities / departments to export a slice. Large: set a maximum cost per run.
citiesarrayCity names, e.g. Mumbai, Delhi, Bangalore, Hyderabad, Pune, Chennai, Kolkata, Ahmedabad, Jaipur, Lucknow. Apna filters by 74 cities; Delhi, Gurgaon, Noida and Ghaziabad all map to Delhi-NCR. Other place names are matched against each job's location. remote means work from home.
departmentsarrayApna departments, e.g. Sales & BD, Customer Support, Delivery / Driver / Logistics, Software Engineering, Finance & Accounting, Healthcare / Doctor / Hospital Staff, Banking / Insurance / Financial Services. A word such as sales, delivery or healthcare picks the matching department. Applies to runs without keywords.
workModesarrayOnly jobs with these work modes. Empty = any.
workTypestringOnly full-time or only part-time jobs.
shiftstringOnly day-shift or only night-shift jobs.
educationstringJobs open to candidates with this highest education, as Apna filters them.
englishLevelstringJobs open to candidates with this English level, as Apna filters them.
postedWithinstringOnly jobs posted recently (Apna's own windows). Last 24 hours with All jobs is a daily board-wide feed of about 950 new jobs.
includeDescriptionbooleanFull job description as plain text. Keyword searches fetch each job page for it (slower); the feed already carries it. Price is the same either way.
maxJobsPerSearchintegerCap for each keyword (or each city / department listing). 0 = no cap. Not used with All jobs.
maxJobsintegerStop after this many saved jobs. 0 or empty = no total cap (the run's maximum cost still applies).
onlyNewSinceLastRunbooleanFor schedules: remember delivered job ids (in a named key-value store in your account) and save only jobs that earlier runs with the same settings did not deliver. Skipped jobs are not charged.
stateNamestringName of the only-new memory. Empty = derived from the keywords and filters. Give two schedules the same name to share one memory.
skipJobIdsarrayApna job ids you already have (the id field). They are neither saved nor charged.

Price

$0.0008 per job ($0.80 per 1,000); $0.001 per run. List prices for Apify Free and Starter plans; Scale and Business plans pay 15% to 30% less.

EventPricePer 1,000Charged when
Job$0.0008$0.80One Apna job saved to the dataset: id, URL, title, company, department, role, city, area, PIN code, coordinates, work mode, shift, salary range and earning potential, experience, education and English level asked for, openings, tags, dates and the full description. Skipped or filtered jobs are never charged.
Actor Start$0.001Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).

Worked example: the input above, capped at 50 jobs, costs at most $0.041. Apify's free plan includes $5 of usage a month, about 6,250 jobs; the Actor's own compute is included in the per-record price, and records skipped by filters, de-duplication or only-new mode are not charged.

Questions buyers ask

Is there an official Apna API?

Not a public one. This Actor reads the public JSON job feed and job pages that the apna.co website loads. It exposes them as a REST API with schedules, webhooks and only-new runs.

Does it return candidates or recruiter contacts?

No. It returns job listings only: no candidate data, and no recruiter names, phone numbers or e-mail addresses.

Why do some jobs have no salary?

The employer did not disclose it, or the job is an external listing applied for on the employer's own career site.

Do I need a proxy or login?

No.

Alternatives, honestly

OptionWhat it gives youWhere it falls short for this job
Apna website and appSearch and apply as a candidateNo export or API; one job at a time
Other Apna Actors on Apify StoreSame boardCompare full-board coverage, salary and locality fields, only-new mode and price per 1,000
Build your own scraperFull controlYou handle the 500-result keyword cap, deep-page repeats, city ids and de-duplication

Published by Daemon Data (data_daemon on Apify Store). Prices, fields and example pages on this page were read from the live Apify listing on 2026-10-26; the listing is the canonical description of the Actor.