Shine Jobs Scraper | Shine.com India Jobs API with Salaries
Pricing
from $0.56 / 1,000 jobs
Shine Jobs Scraper | Shine.com India Jobs API with Salaries
$0.80 per 1,000 jobs, description included | Scrape Shine.com India jobs by keyword and city: full description, salary range, experience, skills, industry, function, posting and expiry dates. Experience and date filters, only-new mode for schedules. No login.
Pricing
from $0.56 / 1,000 jobs
Rating
0.0
(0)
Developer
Daemon Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Shine Jobs Scraper is a pay-per-result Apify Actor that returns job listings from Shine.com, HT Media's job board for jobs across India, as JSON, CSV or Excel. Search by keyword and city. Each row has the full job description (text and HTML), the salary range (as shown and as numbers), experience range, skills, industry, job function, employment type, cities, posting date and expiry date. Price: $0.80 per 1,000 jobs, plus $0.001 per run. You need no login, cookies or browser. On 26 October 2026 Shine listed 17,500 open jobs for python, 23,800 jobs in Bangalore and 2,860 in Kochi.
$0.0008 per job, description included, plus $0.001 per run. Apify's free plan ($5 credit every month) covers about 6,000 jobs with full descriptions. It is built for schedules. Results are read newest first, and with Only new jobs since the last run a daily run returns, and charges for, only the jobs you have not received before.
Live check, 26 Oct 2026:
data analystin 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). 50pythonjobs with descriptions take about a minute.
Who uses Shine data, and what for
| You are | What this Actor gives you |
|---|---|
| Job aggregators and job-alert apps | Shine 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 agencies | Who is hiring accountants in Mumbai or Java developers in Pune this week, at what salary and experience. |
| Salary and labour-market analysts | Salary ranges by role, city, experience and industry, with dates for trend lines. |
| B2B sales and lead generation | Companies 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. |
Quick start (about a minute)
- Click Try for free. The form is pre-filled with
python. - Optionally add keywords (
data analyst,accountant,sales executive), cities (Bangalore,Mumbai,Delhi), an experience level or Posted within the last 7 days. - Click Start. 50 jobs with descriptions take about a minute and cost $0.04.
- Download the results as JSON, CSV or Excel. Or save the input as a task, tick Only new jobs since the last run and schedule it daily.
From code (returns the jobs in one call):
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, "maxJobsPerSearch": 100}'
Input
| Field | What it does |
|---|---|
searchTerms | Job titles or skills, one Shine search each. Empty = all jobs (in the given cities, or in India). |
cities | Shine city names (Bangalore, Mumbai, Delhi, Gurgaon, Noida, Navi Mumbai ...). Each keyword runs once per city. Jobs Shine suggests in other cities are left out. |
experienceYears | Only jobs whose experience range covers this many years. |
postedWithinDays | Only jobs posted in the last N days. |
includeDescription | Open each job page for the description, numeric salary, industry, function, employment type and expiry (default on; same price). |
maxJobsPerSearch | Cap per keyword and city (default 50, newest first). 0 = no cap. |
maxJobs | Total cap for the run. |
onlyNewSinceLastRun, stateName | Only-new mode for schedules. |
skipJobIds | Job ids you already have; never fetched or charged. |
Common names from other scrapers (keywords, queries, location, city, maxItems, onlyNew, experience and more) are accepted as aliases.
Output
One item per job:
{"id": "19927000","url": "https://www.shine.com/jobs/senioor-accountant/shamisha-resources-management-llp/19927000","title": "Senioor Accountant","company": "Shamisha Resources Management LLP Hiring For A leading Pharma company","companyId": 508638,"locations": ["Mumbai City"],"experienceText": "6 to 10 Yrs","experienceMinYears": 6,"experienceMaxYears": 10,"salaryText": "8 - 18 Lakh/Yr","salaryMin": 800000,"salaryMax": 1800000,"salaryCurrency": "INR","salaryPeriod": "yearly","skills": ["accounts payable", "accounts receivable", "accountants"],"industry": "Pharma / Biotech","functions": ["HR"],"employmentType": "FULL_TIME","badges": ["activelyHiring", "earlyApplicant"],"postedAt": "2026-10-24T08:27:54.000Z","validThrough": "2026-12-15T18:30:00.000Z","description": "Conducting Financial Analysis: Analysing financial statements and reports ...","searchTerm": "accountant","searchCity": "mumbai","scrapedAt": "2026-10-26T05:24:49.630Z"}
You can download the dataset as JSON, CSV, Excel, XML or HTML, or read it through the Apify API.
Data fields
| Field | Description |
|---|---|
id, url | Shine job id (stable) and public job page |
title, company, companyId, companyLogo | Job and employer (consultancies show the client they hire for) |
locations, places | Cities as listed; city / state / country from the job page |
experienceText, experienceMinYears, experienceMaxYears | Experience asked for |
salaryText, salaryMin, salaryMax, salaryCurrency, salaryPeriod | Salary as shown and as numbers (when the employer discloses it) |
skills, industry, functions, employmentType | Skills, industry, job function, employment type |
badges, instantApply | Shine badges (actively hiring, early applicant) and one-click apply |
postedAt, validThrough | Posted and expiry dates (ISO 8601, UTC) |
description, descriptionHtml | Full job description |
searchTerm, searchCity, scrapedAt | The search that found it; when this run saved it |
The Actor does not extract recruiter names, phone numbers or e-mail fields. Descriptions are kept as the employer posted them.
Scheduling & automation
Recipe: new accountant and finance jobs in two cities, every morning
{"searchTerms": ["accountant", "financial analyst"],"cities": ["Mumbai", "Pune"],"postedWithinDays": 2,"maxJobsPerSearch": 0,"onlyNewSinceLastRun": true,"stateName": "finance-jobs-daily"}
Save it as a task and add a daily schedule. Each later run delivers only jobs that were not delivered before, and skipped jobs are not charged. The memory is a key-value store named shine-jobs-state in your own Apify account. Every run writes a RUN-SUMMARY record with found, new, filtered, skipped and charged counts. The task's Integrations tab sends results to Google Sheets, Slack, email or a webhook.
How much does it cost to scrape Shine?
| Event | Price | When it is charged |
|---|---|---|
| Job | $0.0008 | Each job saved to your dataset, description included |
| Actor start | $0.001 | Once per run |
That is $0.80 per 1,000 jobs. Jobs skipped by only-new mode, skipJobIds, de-duplication or your city, experience and date filters are never charged. Scale plans pay 15% less and Business plans 30% less. If Shine refuses direct requests, the Actor continues through Apify's anti-bot proxy at no extra charge per job.
| How teams use it | Volume | Cost |
|---|---|---|
Quick look: 50 python jobs with descriptions | 50 jobs | $0.041 |
500 newest data analyst jobs | 500 jobs | $0.40 |
| Daily feed: 3 keywords × 2 cities, only new | about 40 new jobs a day | about $1 a month |
Tips
- Shine's keyword search is broad.
data analystalso matches related titles, so useexperienceYears, cities andpostedWithinDaysto narrow it. - Turn off
includeDescriptionfor a fast list (titles, companies, cities, experience, salary text, skills). It needs one request per 20 jobs instead of one per job. - Set a maximum cost per run on the task. The Actor stops cleanly at the limit and says so in the status message.
FAQ
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.
Related Actors by Daemon Data
- Apna Jobs Scraper – Apna (apna.co) India jobs with salary, locality and department, full-board export
- IIMJobs Jobs Scraper – India's MBA, finance, consulting and management jobs with full descriptions and only-new mode
- Hirist.tech Jobs Scraper – India IT and tech jobs with full descriptions, same scheduling conventions
- Foundit Jobs Scraper – foundit.in (Monster India) jobs with full descriptions, only-new mode for daily feeds
- Instahyre Jobs Scraper – India tech and startup jobs with company size and full descriptions
- Unstop Scraper – Unstop jobs, internships, hackathons and competitions with salaries, prizes and deadlines
- Oracle Jobs Scraper – every job on any Oracle Recruiting Cloud (Oracle HCM) career site
Support
Found a bug or need another field or filter? Open an issue on the Issues tab; issues are usually answered within a day. Custom variants of this Actor are available on request.
A quick review on the Actor page helps other users find it.
Disclaimer
This Actor collects publicly available job listings for informational purposes and does not extract recruiters' contact fields. Respect the source website's terms of use and applicable data-protection laws when using the data.