Shine Jobs Scraper
Pricing
from $0.06 / 1,000 result extracteds
Shine Jobs Scraper
Scrape Shine.com job listings by keyword, location, or search URL. Export titles, companies, locations, salaries, skills, descriptions, and recruiter contacts.
Pricing
from $0.06 / 1,000 result extracteds
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Export public job listings from Shine.com into clean datasets for recruiting research, market mapping, sales intelligence, and hiring analytics.
What does Shine Jobs Scraper do?
Shine Jobs Scraper collects public job search results from Shine.com, one of India’s large recruitment websites.
It turns Shine search pages into structured rows that are ready for spreadsheets, BI tools, CRMs, enrichment workflows, and downstream automation.
You can scrape by keyword and location, or paste one or more Shine search URLs directly.
The actor reads the public server-rendered data available on Shine search pages and saves each job listing as one dataset item.
Who is it for?
This actor is useful for several teams:
- 🧑💼 Recruiters tracking active hiring demand in India
- 📈 Talent intelligence teams mapping companies by role, skill, and location
- 🧲 Lead-generation teams finding companies currently hiring
- 🏢 Staffing agencies monitoring new openings across industries
- 🧪 Data analysts building job-market trend dashboards
- 🤖 Automation builders feeding Shine job data into workflows
Why use this actor?
Shine search pages are designed for browsing, not bulk analysis.
This actor helps you avoid manual copying by extracting job data into a repeatable Apify dataset.
You can schedule it, call it from the API, export to CSV, or connect it to integrations.
Data you can extract
The actor saves public fields when Shine includes them in the search result JSON.
| Field | Description |
|---|---|
jobId | Shine job identifier |
title | Job title |
companyName | Employer or recruiter name |
companyId | Shine company account ID when present |
industry | Industry/category label |
location | Original Shine location text |
locations | Parsed location list |
salary | Salary label shown by Shine |
experience | Experience range |
jobType | Job/employment type when present |
openings | Number of vacancies when present |
postedAt | Posted date string |
expiresAt | Expiry date string |
skills | Parsed skill keywords |
descriptionText | Clean text job description |
descriptionHtml | Optional raw HTML description |
recruiterPhone | Public recruiter phone when present |
recruiterEmail | Public recruiter email when present |
applyUrl | External apply URL when present |
jobUrl | Shine job detail URL |
searchUrl | Search page used to find the job |
page | Search result page number |
position | Position in the collected result set |
totalResults | Shine total count for the search |
source | Always shine.com |
scrapedAt | Collection timestamp |
How much does it cost to scrape Shine jobs?
This actor uses pay-per-event pricing.
You pay a small start fee for each run and a per-result fee for each job listing saved.
For most searches, a small test run with 20 jobs is inexpensive and is a good way to confirm the output before running larger monitoring jobs.
Current pricing is a $0.005 run-start event plus tiered per-job pricing. The BRONZE per-job price is $0.0001 (about $0.10 per 1,000 saved jobs). Final Store pricing is shown on the Apify actor page before you start a run.
How to use Shine Jobs Scraper
- Open the actor on Apify.
- Enter a job keyword such as
software engineer. - Optionally enter a location such as
Bangalore. - Set
Maximum jobsto the number of listings you need. - Click Start.
- Download results from the Dataset tab.
Search by keyword and location
Use the keyword and location fields when you want the actor to build Shine search URLs for you.
Example:
{"keyword": "data analyst","location": "Mumbai","maxItems": 50,"maxPages": 3}
This searches Shine pages like:
https://www.shine.com/job-search/data-analyst-jobs-in-mumbai
Search by Shine URLs
Use searchUrls when you already have the exact Shine search pages you want to monitor.
Example:
{"searchUrls": [{ "url": "https://www.shine.com/job-search/software-engineer-jobs-in-bangalore" },{ "url": "https://www.shine.com/job-search/sales-manager-jobs-in-delhi" }],"maxItems": 100,"maxPages": 5}
When searchUrls is provided, it overrides keyword and location.
Input reference
| Input | Type | Default | Notes |
|---|---|---|---|
keyword | string | software engineer | Used when searchUrls is empty |
location | string | Bangalore | Optional Shine location filter |
searchUrls | array | example Shine URL | Direct URLs to scrape |
maxItems | integer | 20 | Maximum saved jobs |
maxPages | integer | 2 | Maximum pages per search URL |
includeDescriptionHtml | boolean | false | Adds raw HTML description |
Output example
{"jobId": "18878393","title": "Senior Software Developer (.NET)","companyName": "Cynosure Corporate Solutions","industry": "IT Services & Consulting","location": "Chennai","salary": "[Salary Hidden]","experience": "6 to 8 Yrs","skills": [".NET", "C#", "SQL"],"jobUrl": "https://www.shine.com/jobs/senior-software-developer-net/cynosure-corporate-solutions/18878393","source": "shine.com"}
Actual fields depend on what Shine exposes publicly for each listing.
Tips for better results
- 🎯 Use specific keywords such as
java developer,business analyst, ordigital marketing. - 📍 Add a location when you need city-level coverage.
- 🧪 Start with 25 jobs before running larger exports.
- 🔁 Schedule repeated runs to monitor newly posted jobs.
- 🧹 Keep
includeDescriptionHtmldisabled unless you need HTML formatting.
Integrations
You can connect the dataset to many workflows:
- Send new jobs to Google Sheets for recruiting operations.
- Push hiring companies into a CRM for sales outreach.
- Feed job descriptions into an LLM classifier for skill extraction.
- Build dashboards in BigQuery, Snowflake, or Power BI.
- Trigger Slack alerts when target companies post new roles.
API usage
Call the actor from Node.js:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/shine-jobs-scraper').call({keyword: 'software engineer',location: 'Bangalore',maxItems: 25});console.log(run.defaultDatasetId);
Python API usage
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/shine-jobs-scraper').call(run_input={'keyword': 'data analyst','location': 'Mumbai','maxItems': 25,})print(run['defaultDatasetId'])
cURL API usage
curl "https://api.apify.com/v2/acts/automation-lab~shine-jobs-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"keyword":"software engineer","location":"Bangalore","maxItems":25}'
MCP usage
Use this actor with Apify MCP tools in Claude Desktop or Claude Code.
MCP URL:
https://mcp.apify.com?tools=automation-lab/shine-jobs-scraper
Claude Code setup:
$claude mcp add apify-shine-jobs "https://mcp.apify.com?tools=automation-lab/shine-jobs-scraper"
Claude Desktop JSON config example:
{"mcpServers": {"apify-shine-jobs": {"url": "https://mcp.apify.com?tools=automation-lab/shine-jobs-scraper"}}}
Example prompts:
- “Run Shine Jobs Scraper for data analyst jobs in Mumbai and summarize top hiring companies.”
- “Find 50 Java developer openings in Bangalore and group them by required experience.”
- “Monitor Shine for sales manager jobs in Delhi and alert me when new companies appear.”
Scheduling
You can schedule the actor daily or weekly from Apify.
A common setup is:
- Daily run for one keyword and one city
maxItemsset to 100 or 200- Export dataset to Google Sheets or webhook
- Compare job IDs against previous runs to detect new listings
Legality and responsible use
This actor extracts publicly available job listing data from Shine.com search pages.
You are responsible for using the data in a lawful way and respecting applicable terms, privacy rules, and employment-market regulations.
Do not use scraped contact data for spam or unlawful outreach.
Troubleshooting
If a run returns fewer jobs than requested, the search may have fewer public listings than the requested limit, or Shine may have changed pagination for that query.
If you see no results, try a broader keyword such as software engineer or paste a Shine search URL that works in your browser.
If you need the original formatted description, enable includeDescriptionHtml.
FAQ
Does this actor scrape private candidate profiles?
No. It scrapes public job listings only.
Does it require a Shine account?
No account is required for the public listing fields extracted by this actor.
Can I scrape multiple cities?
Yes. Add multiple Shine search URLs in searchUrls, one per city or query.
Why are some salaries hidden?
Shine sometimes displays [Salary Hidden]. The actor saves the value exactly as shown in the public data.
Are recruiter emails and phones always available?
No. They are saved only when Shine exposes them publicly for that listing.
Related scrapers
Other automation-lab actors that may fit job-market workflows:
Changelog
0.1
Initial version with HTTP extraction from Shine search result pages, keyword/location search, direct URL mode, pagination, and structured job listing output.