India Job Inventory Feed: भारत Jobs
Pricing
from $1.49 / 1,000 job postings
India Job Inventory Feed: भारत Jobs
A source-level India job inventory feed that aggregates Apna, CutShort, Internshala, and Instahyre records without asserting buyer-market coverage gaps.
Pricing
from $1.49 / 1,000 job postings
Rating
0.0
(0)
Developer
GetAScraper
Maintained by CommunityActor stats
0
Bookmarked
10
Total users
5
Monthly active users
3 days ago
Last modified
Categories
Share
🇮🇳 India Job Inventory Feed: भारत Jobs
| Build a single India job inventory from five distinct sources. Bring Apna, CutShort, Internshala, Instahyre, Wellfound, and Hirist results into one canonical dataset while keeping source identity and links. | |||
| India jobs sources and inventory • Apna, CutShort, Internshala, Instahyre, and the combined India job feed | |||
Blue and grey collar roles | Technology and startup roles | Internships and entry-level jobs | ➤ You are here |
|
One canonical India jobs feed built from five public sources Combine Apna, CutShort, Internshala, Instahyre, Wellfound, and Hirist listings into a single dataset while keeping each source's identity and links. |
| 🧩 Distinct members Keep every source listing separate. | 🔗 Safe clustering Compare related listings without merging them. | 🧭 Change context Track lifecycle states and source quality. | 📤 Feed exports Use canonical rows, JSONL chunks, or XML. |
Job-data teams can use this bilingual discovery feed for भारत jobs, India technology roles, and global startup hiring. It is designed for product managers, HR-tech teams, labor-market analysts, and feed operations teams that need source-linked records.
🔎 What this feed does
It collects public listings from Apna, CutShort, Internshala, Instahyre, Wellfound, and Hirist. It normalizes the returned records into one canonical dataset.
Each source member keeps its own listingKey, so downstream joins do not merge or remove source records.
Lifecycle states are conservative: NEW, UPDATED, UNCHANGED, CLOSED, and REOPENED. Closure detection is off by default. Source quality flags make incomplete or capped scans visible. CutShort closure detection is disabled in this version.
🎯 Who uses it
- I am a job-data product manager building India listings into our product while preserving the source identity behind each row.
- I am an HR-tech analyst comparing titles, locations, skills, and salary details where each source publishes them.
- I am a labor-market researcher collecting a reproducible job or internship inventory with lifecycle and source context.
- I am a feed operations lead delivering canonical records and export files without collapsing similar listings across sources.
🚀 How it works
| STEP 1 Choose a scope Set sources, a keyword, locations, and bounded limits. | STEP 2 Receive source members Review canonical rows with source IDs, links, and quality flags. | STEP 3 Export or repeat Use the dataset or verified chunked exports for your workflow. |
For later runs, choose changesOnly to emit meaningful lifecycle changes instead of unchanged rows. Monitoring state persists in a named store across Apify runs. Dataset rows are pushed first, and export records are read-back verified before state commits.
⚙️ Input
| Field | Type | Required | Description |
|---|---|---|---|
sources | array of strings | No | Choose one or more boards: Apna, CutShort, Internshala, Instahyre, Wellfound, and Hirist. |
keyword | string | No | Search by a job title, skill, or other simple term. |
locations | array of strings | No | Add cities or regions, or leave empty for all available locations. |
companyNames | list of names | No | Keep listings whose employer name contains one of these names. |
excludeKeywords | list of words | No | Remove listings containing any of these words in the title, employer, location, or description. |
remoteOnly | boolean | No | Keep only listings marked remote by the source. |
internshalaMode | enum | No | Choose Internshala jobs or internships. |
includeDetails | boolean | No | Include descriptions, skills, salary, and company details when published. Defaults to enabled. |
outputMode | enum | No | Return all matching jobs or only new and changed jobs. Defaults to all. |
maxItemsPerSource | integer | No | Maximum jobs from each selected board. Defaults to 100. |
maxPagesPerSource | integer | No | Search depth on boards that support page limits. Defaults to 5 pages. |
🧾 Data table
The canonical dataset preserves source members and records only fields available from the selected source.
| Field | Type | Description |
|---|---|---|
listingKey | string | Stable source-namespaced member ID. |
sourcePlatform | string | Source platform that produced the member. |
sourceRecordId | string | Native ID used by the source member. |
inventoryType | string | Job or internship when published by the source. |
title | string | Listing title when published by the source. |
company | string | Company name when published by the source. |
description | string | Source-provided listing description when published. |
location | string | Listing location when published by the source. |
salaryMin | number | Lower salary or stipend value when published. |
salaryMax | number | Upper salary or stipend value when published. |
salaryCurrency | string | Salary currency when published by the source. |
salaryPeriod | string | Salary period when published by the source. |
salaryRaw | string | Original salary or stipend text when published. |
workArrangement | string | Work arrangement when published by the source. |
isRemote | boolean | Whether the source marks the listing as remote. |
isPartTime | boolean | Whether the source marks the listing as part-time. |
contractTypes | array of strings | Contract types when published by the source. |
skills | array of strings | Skills when published by the source. |
postedAt | string | Published date when available. |
validThrough | string | Application or listing end date when available. |
listingUrl | string | Direct source listing URL when available. |
applicationUrl | string | Application URL when available. |
sourceUrl | string | Original source URL when available. |
isActive | boolean | Whether the record is currently considered active. |
lifecycleStatus | string | Conservative NEW, UPDATED, UNCHANGED, CLOSED, or REOPENED state. |
firstSeenAt | string | Time this source member was first recorded in its state scope. |
lastSeenAt | string | Time this source member was most recently seen. |
closedAt | string | Time the member was marked closed, if it was closed. |
changedFields | array of strings | Canonical fields that changed when a change was detected. |
sourceComplete | boolean | Whether the source scan was explicitly proven complete. |
sourceCapped | boolean | Whether the source result reached its configured record cap. |
closureEligible | boolean | Whether this source result can participate in closure checks. |
📦 Exports
The default dataset is the canonical output. Each successful run also writes verified chunks to the default key-value store:
EXPORT_JSONL_n: newline-delimited canonical records.EXPORT_ADZUNA_SHAPED_XML_n: XML with an Adzuna-shaped field layout.EXPORT_MANIFEST: chunk metadata, checksums, and source context.RUN_HEALTH: child-run status and diagnostics.
The XML is explicitly Adzuna-shaped. It does not claim official Adzuna compatibility, certification, or partnership.
🛡️ Limits and safety
This feed does not claim complete India job-market coverage or prove market gaps. It returns records from the selected source runs only.
Missing source values stay absent. Similar listings remain separate source members, and listingKey remains the safe join key.
Closure detection requires an explicit opt-in, a non-latest pinned source build, an explicitly complete uncapped source scan, and repeated misses. Instahyre can be closure-eligible only under these safeguards. CutShort is not eligible for closure detection in this version.
🧮 Run economics
Each board has a different collection profile. Search pages are usually light, while some boards need extra visits for a full job page. In 20-row Cloud canaries, measured end-to-end platform cost ranged from about $0.01 to $0.32 per 1,000 returned rows at Apify's $0.20 per compute unit rate. This is an operational estimate, not a user charge, and it varies with result count, source availability, and search depth.
The sample was about $0.01-$0.02 per 1,000 rows for Apna, Wellfound, and Hirist, about $0.03-$0.09 for Instahyre, and about $0.27-$0.31 for Internshala. Instahyre's full-detail run used roughly 2.7 times the listing-only compute per returned row, while Internshala used about 1.2 times. Apna, Wellfound, and Hirist were similar in both modes because their listing responses already carried much of the detail. CutShort returned no rows in this canary, so no per-row estimate is claimed for it.
Use includeDetails: false for a low-cost discovery pass. Turn it on when descriptions, skills, salary, or application context matter. Full details do not create a second user-facing charge in this version, but they can take longer on sources that publish a separate detail page.
💰 Pricing
Pay per returned job record. Empty runs and runs with no returned records do not incur result charges. The primary Store event is one Job posting for each canonical row, and full details stay included in that row rather than creating a second user-facing charge.
This Actor is prepared for pay-per-event pricing. Once it is published, check the Store panel for the live rate for your plan.
⭐ Enjoying India Job Inventory Feed: भारत Jobs?
| ⭐ ⭐ ⭐ ⭐ ⭐ Help other job-data teams find a source-linked India hiring feed. A rating helps product managers, analysts, and feed operations teams assess this Actor. Your feedback guides future improvements. |
| ★ Rate this Actor on Apify |
❓ FAQ
Does this combine source listings into one record?
No. Each Apna, CutShort, Internshala, Instahyre, Wellfound, and Hirist source member keeps a distinct listingKey, so similar records remain traceable to their original source.
भारत jobs feed कैसे काम करता है?
Choose sources and a scope, then run the Actor. It returns canonical rows with source member IDs, lifecycle information, links, and reliability flags.
When can a listing be marked closed?
Only when closure detection is enabled and its strict source conditions are satisfied. Closure detection is off by default, and CutShort cannot close in this version.
Do the filters work across every board?
Yes. Keyword, location, company, excluded-word, and remote-only filters are applied to every selected board. Boards also receive their own native filters where available. If a board does not publish an employer or remote signal, that record cannot pass a matching filter that requires it.
Should I request full job details?
Request full details when you need descriptions, skills, salary, or application context. It can take longer and use more platform compute on some boards, while other boards already include most details in their listing response.
Is the XML an official Adzuna feed?
No. The XML uses an Adzuna-shaped layout for downstream mapping. It is not an official Adzuna integration or a promise of compatibility.
🔗 Other actors
- 💼 Apna.co Jobs Scraper: India Blue & Grey Collar Listings ↗: Collect public Apna.co job listings.
- CutShort Jobs Scraper: India Tech Salaries ↗: Collect CutShort roles and source-published salary data.
- 🎓 Internshala Scraper: Jobs & Internship Monitor ↗: Track Internshala jobs and internships.
- 💼 Instahyre Jobs Scraper: India tech jobs & hiring monitor ↗: Track Instahyre technology roles and source-published hiring data.
- 🇨🇳 51job Scraper 前程无忧: China jobs, salaries and hiring data ↗: Collect China job listings and source-published hiring data.