Shine.com Jobs Scraper (India) avatar

Shine.com Jobs Scraper (India)

Pricing

from $4.99 / 1,000 results

Go to Apify Store
Shine.com Jobs Scraper (India)

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

Coding Frontned

Maintained by Community

Actor stats

0

Bookmarked

52

Total users

7

Monthly active users

6 days ago

Last modified

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?

FieldTypeDescription
jobId, jobTitle, company, locationstringListing identity and public location.
salaryRange, experience, industry, skillsstring/arrayPublic compensation, experience, industry, and skill evidence.
jobDescription, education, vacanciesstring/numberCleaned description and source-backed requirements/count.
workMode, jobType, employmentTypestringWork and employment labels when present.
jobUrl, applyUrlURLCanonical public listing and optional application link.
postedDate, expiresDateISO dateSource dates when parseable.
searchKeywords, searchUrl, pageNumber, scrapedAtstring/number/dateRequest provenance.

Optional source fields are omitted when the public payload does not provide reliable values.

How to scrape Shine.com

  1. Open the Actor's Input tab and enter a keyword phrase.
  2. Choose the global item and page limits; optionally set a starting page, deduplication, delay, retry, or proxy option.
  3. For repeatable parser QA, provide fixtureFile or fixtureHtml instead of using a live request.
  4. Click Start, then inspect the dataset, run log, and OUTPUT key-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 is keywords, then searchQuery, then query. Required after normalization, 1–100 characters.
  • maxJobs, maxItems, maxProducts: global item-limit aliases; maxJobs wins, 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, default true; 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, default false. When true, failed, blocked, or empty runs can emit minimal diagnostic rows.
  • fixtureFile: relative HTML path inside the Actor directory; mutually exclusive with fixtureHtml.
  • fixtureHtml: inline HTML, 1–2,000,000 characters; mutually exclusive with fixtureFile.

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 install
npm test
npm run lint
npm run validate -- <dataset-json-file-or-directory>
npm run check
apify validate-schema
apify 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.