TimesJobs.com Jobs Scraper
Pricing
$1.99 / 1,000 job listing scrapeds
TimesJobs.com Jobs Scraper
Scrape TimesJobs.com Job listings. No proxy needed, 22 fields per job: title, salary, skills, applicationCount, companyLogo & more. Keyword, location, experience, salary, industry filters.
Pricing
$1.99 / 1,000 job listing scrapeds
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
TimesJobs Scraper — Native REST API, No Proxy Required
Extract job listings from TimesJobs.com — India's #1 job board with 40M+ candidates — via the official mobile REST API. No residential proxy. No browser. Structured JSON output with 22 fields per job (29 with enrichment).
Why choose this actor?
| This actor | Competitors | |
|---|---|---|
| Proxy required | ✅ None | ❌ Residential proxy required |
| Data source | Native mobile REST API | HTML scraping |
| Output fields | 22 fields (29 enriched) | ~6–8 scraped fields |
| Salary data | Exact integers (Lakh) | Raw text string |
| Date filter | ✅ any / last 7 days / last 30 days | ❌ Not available |
| applicationCount | ✅ Yes | ❌ Not available via HTML |
| companyLogo | ✅ URL included | ❌ Not available via HTML |
| Skills | Typed array | Comma string |
| Memory | 256 MB | 1024 MB |
| Pricing | $1.99/1k results | Higher (proxy costs) |
This actor calls https://tjapi.timesjobs.com/ — the same endpoint used by the TimesJobs Android app (v11.4.4, reverse-engineered from com.timesgroup.timesjobs). No proxy required because the API accepts anonymous requests with a standard User-Agent: timesjobs android header.
Output fields (22 per job, 29 with enrichDetails)
Standard fields (22)
| Field | Type | Description |
|---|---|---|
jobId | string | Unique job identifier |
title | string | Job title |
company | string | Company name (hfCompany preferred) |
companyId | string | Company identifier |
companyLogo | string | Logo image URL |
location | string | City / region |
experienceFrom | integer | Min experience (years) |
experienceTo | integer | Max experience (years) |
experience | string | Formatted range e.g. 3 - 7 Yrs |
salaryLow | integer | Min salary (Lakh PA) |
salaryHigh | integer | Max salary (Lakh PA) |
salary | string | Formatted e.g. 12 - 20 Lakh PA |
skills | string[] | Array of required skills |
jobFunction | string | Functional area |
jobType | string | e.g. Permanent Job, Full Time |
description | string | Job description excerpt |
postDate | string | ISO date posted |
expiryDate | string | ISO expiry date |
applicationCount | integer | Number of applications received |
jobUrl | string | Direct link to job posting |
source | string | Listing source |
scrapedAt | string | ISO 8601 scrape timestamp |
Enrichment fields (7 extra, only when enrichDetails: true)
| Field | Type | Description |
|---|---|---|
fullDescription | string | Complete job description from detail page |
functionalArea | string | Detailed functional area |
industry | string | Industry sector |
role | string | Specific role within function |
employmentType | string | Employment type (Full Time, Contract, etc.) |
aboutCompany | string | Company description |
keySkills | string[] | Key skills from detail page (may differ from listing skills) |
Input parameters
{"keywords": "python developer","location": "Bangalore","experience": "3","industry": "IT-Software","jobFunction": "IT Software - Application Programming","salaryMin": "10","salaryMax": "30","datePosted": "week","maxJobs": 500,"pageSize": 10,"startPage": 1,"enrichDetails": false,"requestsPerSecond": 3}
| Parameter | Type | Default | Description |
|---|---|---|---|
keywords | string | (required) | Job title, skills, or role |
location | string | "" | City or region. Empty = all India |
experience | string | "" | Years e.g. "3" or "3-7" |
industry | string | "" | Industry filter e.g. "IT-Software" |
jobFunction | string | "" | Functional area filter |
salaryMin | string | "" | Min salary (Lakh PA) |
salaryMax | string | "" | Max salary (Lakh PA) |
datePosted | string | "any" | "any" | "week" (last 7 days) | "month" (last 30 days) |
maxJobs | integer | 100 | Max results (up to 10,000+) |
pageSize | integer | 10 | Results per API page (10–50) |
startPage | integer | 1 | Start from this page (for offset scraping) |
enrichDetails | boolean | false | Fetch detail page for 7 additional fields |
requestsPerSecond | integer | 3 | Rate limit (1–10) |
Pricing
$1.99 per 1,000 job listings
- ~0.003 CU per 1,000 jobs (256 MB, pure HTTP, no browser)
- No residential proxy cost
- Enriched mode: ~2x CU (one extra request per job for detail page)
API endpoint details (reverse-engineered)
Base URL: https://tjapi.timesjobs.com/Search: POST /search/api/v1/search/jobs/listDetail: GET /job-api/api/jobs/public/{jobId}Auth: Authorization: Bearer (empty = anonymous)UA: User-Agent: timesjobs android
Discovered by downloading APK com.timesgroup.timesjobs v11.4.4 from Google Play and decompiling with jadx. Source: com.timesgroup.retrofit.domain.ApiService + BuildConfig.WEBSERVICE_SERVER_BASE_URL.
Example output
{"jobId": "97654321","title": "Senior Python Developer","company": "TechCorp India Pvt Ltd","companyLogo": "https://static.timesjobs.com/logos/techcorp.png","location": "Bangalore","experienceFrom": 3,"experienceTo": 7,"experience": "3 - 7 Yrs","salaryLow": 12,"salaryHigh": 20,"salary": "12 - 20 Lakh PA","skills": ["Python", "Django", "REST API", "PostgreSQL", "AWS"],"jobFunction": "IT Software - Application Programming","jobType": "Permanent Job, Full Time","description": "We are looking for an experienced Python developer...","postDate": "2026-04-28","expiryDate": "2026-05-28","applicationCount": 142,"jobUrl": "https://www.timesjobs.com/job-detail/97654321-senior-python-developer.html","source": "timesjobs","scrapedAt": "2026-05-06T10:00:00.000Z"}
Changelog
v1.1.0
- Fixed
datePostedfilter: now correctly filters results by last 7 or last 30 days (was ignored in v1.0.0) - Fixed
startPageinput now correctly starts pagination from the given page number - Added
pageSizeto input schema (was missing, defaulted internally to 10) - Added
experience,industry,jobFunction,salaryMin,salaryMaxto input schema (were accepted but not exposed in UI) - Fixed actor.json dataset view referenced
postedinstead ofpostDate(broken column display) - Added
output_schema.jsonfor correct Output tab rendering in Apify Console - Removed unused
cheeriodependency from package.json
Built by Unfenced Group
Part of a portfolio of 148 Apify actors covering job boards across India, Europe, and international markets.