Shine.com Jobs Scraper (India)
Pricing
from $4.99 / 1,000 results
Shine.com Jobs Scraper (India)
Scrape job listings from Shine.com — India's leading job portal. Extract job titles, companies, salaries, locations, skills, experience requirements, and descriptions. Supports keyword search with pagination.
Pricing
from $4.99 / 1,000 results
Rating
0.0
(0)
Developer
Coding Frontned
Maintained by CommunityActor stats
0
Bookmarked
52
Total users
7
Monthly active users
6 days ago
Last modified
Categories
Share
What does Shine.com Jobs Scraper do?
Shine.com Jobs Scraper extracts public job listings from Shine.com. It reads the site's public search payload, including job identity, employer, location, experience, skills, salary text, description, dates, and pagination metadata. It does not log in, submit applications, solve CAPTCHA/security challenges, or use private APIs.
Why use Shine.com Jobs Scraper?
Use it for India-focused recruiting research, skills discovery, salary benchmarking, and scheduled monitoring of public listings. The Actor follows the keyword-derived Shine route, supports bounded pagination, deduplicates by stable job ID by default, and keeps a global maxJobs limit across pages. Apify adds run history, scheduling, API access, dataset exports, and integrations. proxyConfiguration is optional ordinary transport configuration; it is not a fingerprint or CAPTCHA bypass.
What data can Shine.com Jobs Scraper extract?
| Field | Type | Description |
|---|---|---|
jobId, jobTitle, company, location | string | Listing identity and public location. |
salaryRange, experience, industry, skills | string/array | Public compensation, experience, industry, and skill evidence. |
jobDescription, education, vacancies | string/number | Cleaned description and source-backed requirements/count. |
workMode, jobType, employmentType | string | Work and employment labels when present. |
jobUrl, applyUrl | URL | Canonical public listing and optional application link. |
postedDate, expiresDate | ISO date | Source dates when parseable. |
searchKeywords, searchUrl, pageNumber, scrapedAt | string/number/date | Request provenance. |
Optional source fields are omitted when the public payload does not provide reliable values.
How to scrape Shine.com
- Open the Actor's Input tab and enter a keyword phrase.
- Choose the global item and page limits; optionally set a starting page, deduplication, delay, retry, or proxy option.
- For repeatable parser QA, provide
fixtureFileorfixtureHtmlinstead of using a live request. - Click Start, then inspect the dataset, run log, and
OUTPUTkey-value record. Use Apify's API or scheduler for recurring collection.
How much will it cost to scrape Shine.com?
Cost varies with pages, response size, retries, request delay, proxy transport, and browser/platform overhead. There is no fixed price or throughput guarantee. maxJobs is global; maxPages limits pages for the run, and a blocked or malformed response can spend retries without creating normal rows. Fixture mode still performs local parsing work but makes no live request.
Input
See the input tab for the complete configuration. The runtime validator rejects values outside the documented bounds.
keywords,searchQuery,query: keyword aliases; precedence iskeywords, thensearchQuery, thenquery. Required after normalization, 1–100 characters.maxJobs,maxItems,maxProducts: global item-limit aliases;maxJobswins, 1–200, default 20.maxPages: 1–10 pages, default is the smaller of 10 and the pages needed for the item limit.startPage: first Shine page, 1–1000, default 1.deduplicate: boolean, defaulttrue; IDs are the deduplication key.requestDelayMs: 0–5000 milliseconds, default 0.maxRequestRetries: 0–3, default 2.requestTimeoutSecs: 15–180 seconds, default 60.proxyConfiguration: optional object passed to Apify Proxy for live requests; not used in fixture mode.includeDiagnostics: boolean, defaultfalse. When true, failed, blocked, or empty runs can emit minimal diagnostic rows.fixtureFile: relative HTML path inside the Actor directory; mutually exclusive withfixtureHtml.fixtureHtml: inline HTML, 1–2,000,000 characters; mutually exclusive withfixtureFile.
The Actor requests pages in order and follows the public next/num_pages signal while both limits allow. It does not accept start URLs; generated keyword routes are the source of truth.
Output
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Normal record:
{"jobId": "19333543","jobTitle": "Software Engineer","company": "Example Technologies Pvt. Ltd.","location": "Bangalore","experience": "5 to 10 Yrs","skills": ["docker", "python"],"jobDescription": "Public job description text.","jobUrl": "https://www.shine.com/job-search/software-engineer/example-technologies/19333543/","source": "Shine.com","sourceDomain": "shine.com","searchKeywords": "software engineer","searchUrl": "https://www.shine.com/job-search/software-engineer-jobs/","pageNumber": 1,"scrapedAt": "2026-09-09T13:30:00.000Z"}
Diagnostic record when includeDiagnostics is true:
{"url": "https://www.shine.com/job-search/software-engineer-jobs/","error": "Shine returned an access challenge.","errorCode": "ACCESS_BLOCKED","scrapedAt": "2026-09-09T13:30:00.000Z"}
The OUTPUT key-value record contains status, item counts, unique count, failures, pages processed, elapsed seconds, keywords, and finishedAt. Operational fields are not mixed into dataset rows.
Tips and advanced options
Begin with one page and a small limit. Set deduplicate: false only when repeated source rows are useful. Increase delay before increasing retries, and use includeDiagnostics during troubleshooting. Treat a changed or missing __NEXT_DATA__ payload as a source/parser issue rather than accepting guessed records. The checked-in fixture is synthetic parser QA, not a guarantee of current live availability.
FAQ, support, and responsible use
Why is the dataset empty? Shine may return an access challenge, an empty page, or a changed structured-data shape. Enable diagnostics and review the run log.
Is this Actor affiliated with Shine.com? No. Follow Shine's terms, robots guidance, rate limits, privacy rules, and applicable employment-data law. Our Actors do not extract private user data such as email addresses, gender, or private location; they extract only information made public by the source. Public job listings can still contain personal data, so use a lawful purpose and consult qualified legal counsel when unsure.
For bugs or feature requests, use the Actor's Issues tab with a run ID and concise reproduction summary. The API tab and run history are useful for automation and monitoring.
Local validation
npm installnpm testnpm run lintnpm run validate -- <dataset-json-file-or-directory>npm run checkapify validate-schemaapify run --purge --input-file <input-json-file>
The checked-in test/inputs/ matrix covers default, aliases/filters, pagination, diagnostics/developer controls, and fixture QA cases.