Timesjobs Scraper πΌ
Pricing
from $1.00 / 1,000 results
Timesjobs Scraper πΌ
Extract job listings efficiently from Timesjobs, a leading Indian career portal. This lightweight actor is designed for fast data collection. For optimal stability and to prevent blocking, the use of residential proxies is strongly recommended.
Pricing
from $1.00 / 1,000 results
Rating
5.0
(2)
Developer
Shahid Irfan
Maintained by CommunityActor stats
1
Bookmarked
32
Total users
2
Monthly active users
14 days ago
Last modified
Categories
Share
What does TimesJobs Job Scraper do?
TimesJobs Job Scraper collects public job listings from TimesJobs.com and saves them as structured records in an Apify dataset. Enter a job keyword, location, or a TimesJobs search URL to gather roles for hiring research, job market analysis, recruitment lead generation, and career intelligence.
Each result can include the job title, hiring company, location, required skills, salary, employment type, posting date, descriptions, vacancy count, job identifier, and application URLs. Results are returned in JSON and can also be exported to CSV, Excel, XML, or other Apify-supported formats.
Why use TimesJobs Job Scraper?
- Targeted job searches - Narrow results by role keyword and Indian city or region.
- Detailed job records - Collect both summary information and available job description content for downstream review.
- Predictable collection size - Set
results_wantedto control how many listings the run should save. - Recruitment workflows - Build hiring research datasets, identify active employers, and compare demand for skills across locations.
- Repeatable monitoring - Schedule recurring runs in Apify to watch job availability, salary information, and posting activity over time.
- Automation-ready exports - Send the dataset to spreadsheets, webhooks, no-code tools, or your own application.
What data can you extract from TimesJobs?
The Actor returns one dataset item per collected job listing. Optional fields are omitted when TimesJobs does not publish the corresponding information.
| Field | Type | Description |
|---|---|---|
title | String | Job title or role name. |
company | String | Hiring company name. |
experience | String | Required experience range, such as 2 - 5 Yrs. |
location | String | Job location or locations. |
skills | Array | Skill keywords associated with the listing. |
salary | String | Salary or compensation text when available. |
job_type | String | Employment or job type when available. |
date_posted | String | Posting date or relative posting text. |
description_html | String | Job description in HTML format when available. |
description_text | String | Job description converted to plain text. |
url | String | TimesJobs detail page URL. |
job_id | String | TimesJobs job identifier. |
company_description | String | Company description when published. |
address | String | Address or additional location detail when available. |
vacancies | Number | Number of vacancies when published. |
external_job_url | String | External application or employer URL when available. |
source | String | Source marker included with the record. |
How to scrape TimesJobs data
- Open TimesJobs Job Scraper in Apify Console.
- Enter a keyword, location, or provide a public TimesJobs search URL.
- Set
results_wantedto the number of listings you need. - Run the Actor and review the dataset preview.
- Download the results or connect the dataset to your workflow.
The input form includes example values for a software developer search in Bengaluru. Replace them with your own search criteria before running the Actor.
Input Parameters
| Parameter | Type | Required | Default or prefill | Description |
|---|---|---|---|---|
startUrl | String | No | None | A public TimesJobs search URL. Use this when you already have a prepared search page. |
keyword | String | No | software developer | Job title, skill, or search phrase, such as python developer or data analyst. |
location | String | No | Bengaluru | City, region, or location filter, such as Mumbai, Delhi, or Pune. |
results_wanted | Integer | No | 20 | Number of job listings to save. Larger values may take longer and depend on matching public listings. |
proxyConfiguration | Object | No | {"useApifyProxy": false} | Optional Apify proxy settings for runs that need additional network reliability. |
If a startUrl contains search parameters, the Actor can use those values as search context. Explicit keyword and location inputs remain useful when you want to control the search directly.
Input precedence is predictable: values supplied in the Actor input form take priority, then missing filters are read from a supplied TimesJobs search URL. You can run a keyword-only search, a keyword plus location search, or provide a URL with its saved filters.
Output Data
The dataset contains one structured JSON record per unique job. Optional fields are omitted when TimesJobs does not publish a value, so downstream workflows do not need to clean a collection of null properties. skills is always returned as an array and uses Not specified when no usable skills are published.
| Field | Type | Description |
|---|---|---|
title | String | Job title. |
company | String | Company name. |
experience | String | Formatted experience requirement. |
experience_from | Number | Minimum experience in years when published. |
experience_to | Number | Maximum experience in years when published. |
location | String | Location text. |
skills | Array | Skills or technologies listed for the role. |
salary | String | Salary range, salary value, or employer-provided compensation text. |
job_type | String | Job or employment type. |
employment_type | String | Employment classification. |
date_posted | String | Posting date text. |
posted_at | String | Posting timestamp when published. |
expires_at | String | Listing expiry date when published. |
description_html | String | Original formatted description when available. |
description_text | String | Plain-text version of the description. |
url | String | TimesJobs detail URL. |
job_id | String | Source job identifier. |
application_count | Number | Application count reported by the listing. |
company_id | String or Number | Source company identifier. |
company_logo | String | Company logo URL. |
company_description | String | Company information from the listing detail. |
address | String | Address information when available. |
show_address | Boolean | Whether the source marks the address as visible. |
contact_info | Object or String | Contact information when published. |
show_contact | Boolean | Whether the source marks contact information as visible. |
vacancies | Number | Vacancy count when available. |
external_job_url | String | External application URL when available. |
desired_candidate | String | Candidate profile text. |
gender | String | Gender preference code when published. |
gender_formatted | String | Human-readable gender preference. |
industry_ids | String | Industry identifiers. |
industry_names | Array | Industry names. |
function_ids | String | Job function identifiers. |
function_names | Array | Job function names. |
area_of_specialization_ids | String | Area-of-specialization identifiers. |
area_of_specialization_names | Array | Areas of specialization. |
role_ids | String | Role identifiers. |
role_names | Array | Role names. |
location_ids | String | Location identifiers. |
location_names | Array | Normalized location names. |
location_others | String | Additional location information. |
hiring_off | String | Hiring-office identifier when published. |
hiring_off_names | Array | Hiring-office names. |
low_salary | Number | Lower compensation value in the source currency. |
high_salary | Number | Upper compensation value in the source currency. |
currency | String | Currency reported on the search listing. |
ctc_currency | String | Currency code reported on the detail listing. |
ctc_flag | Number | Compensation flag from the source listing. |
hide_ctc_from_candidate | Boolean | Whether compensation is hidden by the employer. |
best_in_industry | Boolean | Whether the listing is marked best in industry. |
perks | String | Benefits or perks text. |
listing_source | String | Source listing category. |
graduation_course_names | Array | Graduation course requirements. |
graduation_specializations | Array | Graduation specialization requirements. |
any_graduate | Number | Whether any graduate qualification is accepted. |
postgraduation_course_names | Array | Postgraduate course requirements. |
postgraduation_specializations | Array | Postgraduate specialization requirements. |
any_postgraduate | Number | Whether any postgraduate qualification is accepted. |
source | String | Source marker for the collected record. |
Usage Examples
Keyword-only Search
Collect the first matching jobs for a keyword without limiting the location.
{"keyword": "Python developer","results_wanted": 20}
Basic Search
Collect software developer jobs in Bengaluru.
{"keyword": "software developer","location": "Bengaluru","results_wanted": 20}
Search by Role and Location
Collect a larger set of data analyst listings in Mumbai for market research.
{"keyword": "data analyst","location": "Mumbai","results_wanted": 100}
Start from a TimesJobs Search URL
Use a prepared TimesJobs search page and limit the run to 50 records.
{"startUrl": "https://www.timesjobs.com/candidate/job-search.html?searchType=personalizedSearch&from=submit&txtKeywords=python%20developer&txtLocation=Pune","results_wanted": 50}
Sample Output
The following example shows one realistic dataset item. Optional fields are included only when information is available in the source listing.
{"title": "Product Manager, Android GPU Quality","company": "Google","experience": "5 - 7 Yrs","experience_from": 5,"experience_to": 7,"location": "Bengaluru","skills": ["Product Management", "Technical Leadership", "Market Validation"],"salary": "As per industry standard","job_type": "On-site","employment_type": "Full-time","date_posted": "01 Aug, 2026","posted_at": "2026-08-01T22:45:37","expires_at": "2026-09-29","description_html": "<strong>Product Manager, Android GPU Quality</strong><p>...</p>","description_text": "Product Manager, Android GPU Quality Location: Bengaluru, Karnataka, India...","url": "https://www.timesjobs.com/job-detail/product-manager-android-gpu-quality-google-bengaluru-5-7-years-jobid-example","job_id": "80678900","application_count": 0,"company_logo": "https://timesjob.s3.ap-south-1.amazonaws.com/company-logos/002256.png","show_address": false,"show_contact": false,"vacancies": 0,"external_job_url": "https://www.google.com/about/careers/applications/jobs/results/example","gender": "PreferNot","gender_formatted": "No Preference","function_ids": "35","function_names": ["IT Software : Software Products & Services"],"area_of_specialization_ids": "20105","area_of_specialization_names": ["Recruitment"],"location_ids": "198130","location_names": ["Bengaluru"],"currency": "INR","ctc_currency": "r","ctc_flag": 1,"hide_ctc_from_candidate": true,"best_in_industry": false,"listing_source": "srp","graduation_course_names": ["Any Postgraduate"],"any_postgraduate": 1,"source": "timesjobs"}
Tips for Best Results
- Use specific keywords such as
React developer,Java backend engineer, ordigital marketing managerto reduce irrelevant listings. - Combine
keywordandlocationwhen you need a focused hiring dataset. - Start with 20 results to check relevance and field completeness before increasing the limit.
- Use a direct TimesJobs search URL when the website search page already contains the filters you need.
- Review salary and vacancy fields as source-provided values. Many listings do not publish compensation or headcount.
- Use scheduled runs for recurring market monitoring, then compare datasets by posting date and job URL.
Integrations and Export Formats
- Google Sheets - Review roles, companies, locations, and salary information in a shared spreadsheet.
- Webhooks - Trigger notifications or downstream processing after a run completes.
- Make and Zapier - Route new job records to CRM, email, Slack, or other business tools.
- Apify API - Retrieve dataset items programmatically for dashboards, internal tools, or data pipelines.
Apify datasets can be exported as JSON, CSV, Excel, XML, and other supported formats. JSON is useful for applications and data pipelines, while CSV and Excel are convenient for manual analysis and reporting.
Frequently Asked Questions
How many TimesJobs listings can I collect in one run?
You can set results_wanted to the number of listings needed. Larger collections may take longer and depend on the number of matching public listings.
Can I start from a TimesJobs URL?
Yes. Provide a public search URL in startUrl. This is useful when you have already selected filters on TimesJobs.
Does the Actor collect full job descriptions?
Yes, when the listing provides description content. The dataset includes both description_html and a plain-text description_text field.
Why are some output fields empty?
Some employers do not publish salary, address, vacancy count, company information, or other optional details. Empty values reflect the source listing rather than a required field in every record.
Can I schedule recurring TimesJobs searches?
Yes. Create an Apify schedule to run the Actor hourly, daily, weekly, or at another interval supported by your workflow.
Can I export the results to CSV or Excel?
Yes. Apify dataset results can be downloaded in CSV, Excel, JSON, XML, and other supported formats.
Is collecting TimesJobs data legal?
Public data collection can be subject to applicable laws, privacy requirements, and TimesJobs.com terms. You are responsible for reviewing those requirements and using the collected job information responsibly.
Related Actors
- Freshersworld Jobs Scraper - Collect fresher and entry-level job listings from an Indian job portal.
- Talent Job Scraper - Gather job postings from Talent.com for broader hiring research and lead generation.
- Kariyer Job Scraper - Collect job listings and detail fields from Kariyer.net.
- Xing Jobs Scraper - Gather professional job listings for DACH-region recruitment and market analysis.
Support
For issues, missing fields, or feature requests, use the Issues tab on the Actor page. Include the input used, the affected TimesJobs URL or search criteria, and a short description of the expected result.
Legal Notice
This Actor is intended for legitimate collection of publicly available job information. Users are responsible for complying with TimesJobs.com terms, applicable laws, privacy requirements, and any restrictions related to storing, analyzing, or redistributing employment data.