Daemon Data

Shine.com job listings as JSON API

Shine Jobs Scraper is a pay-per-record Apify Actor by Daemon Data that returns Shine.com India jobs by keyword and city with full descriptions, salary range, experience, skills and industry 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 Shine Jobs Scraper on Apify   Listing as plain text

Checked on 26 Oct 2026

data analyst in Bangalore and Pune with 2 years of experience, posted in the last 3 days, gave 20 jobs from the first few pages (98 others were older, elsewhere or for another experience band, and were not charged). 50 python jobs with descriptions take about a minute.

Who uses it, for what

You areWhat you get
Job aggregators and job-alert appsShine as a source with stable ids, salary, experience band, full description and de-duplication across keywords and runs. Same conventions as the IIMJobs, Hirist, Foundit, Instahyre and Apna Actors by the same publisher.
Recruiters and staffing agenciesWho is hiring accountants in Mumbai or Java developers in Pune this week, at what salary and experience.
Salary and labour-market analystsSalary ranges by role, city, experience and industry, with dates for trend lines.
B2B sales and lead generationCompanies with many open roles in a function are buying tools and services for it.
AI agents (MCP)Ask Claude or ChatGPT "data analyst jobs in Pune posted this week 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, locations, places, experienceText, experienceMinYears, experienceMaxYears, salaryText, salaryMin, salaryMax, salaryCurrency, salaryPeriod, skills, industry, functions, employmentType, badges, instantApply, postedAt, validThrough, description, descriptionHtml, searchTerm, searchCity, scrapedAt. Per-field notes and the OpenAPI definition are on the Apify API page.

FieldTypeExample
idstring"19927000"
urlstring"https://www.shine.com/jobs/senioor-accountant/shamisha-resources-m...
titlestring"Senioor Accountant"
companystring"Shamisha Resources Management LLP Hiring For A leading Pharma comp...
companyIdnumber508638
locationsarray["Mumbai City"]
experienceTextstring"6 to 10 Yrs"
experienceMinYearsnumber6
experienceMaxYearsnumber10
salaryTextstring"8 - 18 Lakh/Yr"
salaryMinnumber800000
salaryMaxnumber1800000
salaryCurrencystring"INR"
salaryPeriodstring"yearly"
skillsarray["accounts payable", "accounts receivable", "accountants"]

Input and how to call it

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

{
  "searchTerms": [
    "data analyst"
  ],
  "cities": [
    "Pune"
  ],
  "postedWithinDays": 7,
  "includeDescription": true,
  "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~shine-jobs-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms": ["data analyst"], "cities": ["Pune"], "postedWithinDays": 7, "includeDescription": true, "maxJobsPerSearch": 50}'

Python: ApifyClient(token).actor("data_daemon/shine-jobs-scraper").call(run_input=...), full file python/shine-jobs-scraper.py. Node.js: node/shine-jobs-scraper.mjs. n8n: importable workflow. AI assistant (MCP): add the remote server https://mcp.apify.com/?tools=data_daemon/shine-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, one Shine search each, e.g. python, data analyst, accountant, sales executive, java developer, nurse. Leave empty to list all jobs (in the given cities, or in India). A job found by two searches is saved and charged once.
citiesarrayCities as Shine names them, e.g. Bangalore, Mumbai, Delhi, Gurgaon, Noida, Hyderabad, Pune, Chennai, Kolkata, Ahmedabad, Navi Mumbai. Each keyword runs once per city. Shine also suggests jobs in nearby cities; the Actor keeps only jobs located in the city you asked for.
experienceYearsintegerOnly jobs whose experience range covers this many years, e.g. 2 keeps "1 to 3 Yrs" and "0 to 4 Yrs" but not "5 to 8 Yrs".
postedWithinDaysintegerOnly jobs posted in the last N days (e.g. 1 for a daily feed). Results are read newest first, so the search stops at the first page of older jobs. 0 or empty = any date.
includeDescriptionbooleanOpen each job page for the full description (text + HTML), numeric salary range, industry, function, employment type and expiry date. Turn off for a fast list of titles, companies, cities, experience, salary text and skills. Price is the same either way.
maxJobsPerSearchintegerCap for each keyword (and city). Newest jobs come first. 0 = no cap (a popular keyword can have tens of thousands of jobs; set a maximum cost per run).
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, cities and experience. Give two schedules the same name to share one memory.
skipJobIdsarrayShine job ids you already have (the id field). They are neither fetched, 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 Shine job saved to the dataset: id, URL, title, company, cities, experience range, salary (text and numbers), skills, industry, function, employment type, badges, posting and expiry dates and the full description (text + HTML). 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 Shine API?

Not a public one. This Actor reads Shine's public search and job pages, which robots.txt allows, and exposes them as a REST API with schedules, webhooks and only-new runs.

Why do some jobs have no salary numbers?

The employer chose "Not Disclosed". salaryText then says so.

Do I need a proxy?

No. If Shine starts refusing direct requests, the Actor switches to Apify's anti-bot proxy by itself.

Alternatives, honestly

OptionWhat it gives youWhere it falls short for this job
Shine.com websiteSearch and alerts for a logged-in userNo bulk export or API
Other Shine Actors on Apify StoreSame boardCompare description and salary-range coverage, only-new mode and price per 1,000
Build your own scraperFull controlYou parse the app's page data, follow job pages and maintain 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.