Job cards connect through a data interface to a checked storage tray.

Choose Kaix when you need direct job URL or ID lookup, internship or campus searches, or more detailed Naukri category and filter modes. This is the main condition that changes the recommendation. Kaix Actor

Start with what your feed must collect. A career portal that discovers a small set of roles has a different need from a service that already holds specific job IDs. Define that need before you compare input forms.

Chronometrica publishes this comparison and operates the recommended Actor. The product facts come from public documentation and schemas captured on 20 October 2026. No live comparison run was made. The recommendation rests on the checked inputs and outputs. It does not rest on measured speed, cost or accuracy.

What a career portal needs from this comparison

A public Reddit request asks whether an existing API can supply Indian job listings for a side project career portal. It supports a useful question: can a collection service provide the required data without the portal owner building a scraper? A scraper is a program that collects data from a website. The request does not establish a preferred vendor, complete employer coverage, or permission to republish descriptions. Original career portal request

For this decision, separate three jobs your system must do. First, it must find relevant listings. Next, it must store each observed listing with enough information to check it. Last, it must decide which facts it can display and when to check them again.

An Actor supports collection. Your portal still needs rules for storage, review and display. A useful result therefore means more than a successful API request. The returned rows must meet your required fields. You must also understand why collection stopped.

This article helps you select between the two Actors. For the existing API request method, use How to Collect Public Naukri Job Listings Through an API.

Compare the collection modes first

A collection mode is the way you ask the program to find listings. Decide which mode you need before you compare the number of available fields.

Compare the collection modes first
Decision pointChronometricaKaix
DiscoveryCompact keyword, location, experience and freshness searchKeyword and location search with broader filters
Known listingsSearch discovery is the checked fit hereSeparate `jobUrls` and `jobIds` lookup modes
Controls`searchDepth` and shared `maxItems`Company, work mode, internship/campus and taxonomy IDs
OutputDocumented job row and run summary`fetchDetails` separates core fields from full details

The table uses the checked Chronometrica documentation and Kaix documentation. Taxonomy IDs identify categories in Naukri's classification system.

For the stated compact search, Chronometrica is a clear fit. Its documented controls let you specify the role, place, experience and listing age, then limit the saved rows. A broader form matters when a required collection mode depends on it. A compact form alone does not establish better coverage. Chronometrica input documentation

The table supports this specific decision. It is not a complete feature inventory. Do not treat a feature that the table does not document as absent.

Why Chronometrica fits a bounded discovery feed

Chronometrica documents `searchTerm`, `location`, `experienceYears`, `postedWithinDays`, `sortBy`, `searchDepth` and `maxItems`. These fields give a small portal a defined search form. They fit a portal that can state its collection scope before a run. Chronometrica input documentation

The saved row includes `jobId`, `jobUrl`, `title`, `companyName`, `location`, `descriptionText`, `skills`, and available salary and experience facts. Chronometrica saves one observed unique `jobId` per run. Missing public facts remain `null`. This value means that the fact is unknown or unavailable. Chronometrica output documentation

That row structure gives a small portal a useful starting point. The portal can identify the listing, retain the source link, and record which facts need review. A job ID identifies an observed listing. It does not prove that the application page remains active.

The shared cap makes the collection limit clear. `maxItems` applies after filtering and duplicate removal. It limits total saved rows across the run. It does not give each keyword a separate allowance. If your plan assumes a separate allowance for each keyword, change that plan before collection. Chronometrica saved-row limit

`searchDepth` offers `standard`, `extended` and `deep` effort levels. A higher setting does not guarantee all jobs or better data quality. Use the setting to choose collection effort, then inspect the saved observations. Chronometrica search controls

These checked features support the recommendation for bounded discovery. They do not establish lower cost, faster runs or complete coverage.

Check the fit with a small input

The public Naukri Jobs API Dataset Task provides a starting preset. A Task is a saved input preset for an Actor. Inspect its actual current input before use. The recorded page check returned HTTP 200, a successful page response. That check did not verify the current saved settings.

This fictional query provides a small acceptance example. An acceptance check determines whether a result meets your stated needs.

json
{
  "searchTerm": "data engineer",
  "location": "Bengaluru",
  "experienceYears": 3,
  "postedWithinDays": "7",
  "searchDepth": "standard",
  "maxItems": 5
}
Check the fit with a small input

This input passed a local check against the cached public JSON Schema. A JSON Schema defines allowed input fields, value types and limits. All supplied field names exist in that schema. The check supports the input structure. It does not prove live source availability or predict the number of saved rows. No Actor run was made for this example. Chronometrica public schema

Keep the value types shown. `searchTerm` and `location` are strings, which are text values. `experienceYears` is an integer from 0 to 30. An integer is a whole number. `maxItems` is an integer of at least 1. Here, `postedWithinDays` uses the string `"7"`, and `searchDepth` uses `"standard"`. These supplied values passed the cached schema check. Chronometrica input schema

The query requests three years of experience. You must still compare each returned listing's requirements with that value. A listing may give an experience range or include other conditions in its text. The requested value alone does not prove that every returned job is suitable.

Apply five acceptance checks

Write your expected result before collection. A populated dataset is useful only if its rows support the intended feed. Use these checks to decide whether the selected Actor meets that need.

  1. Define the search and required fields. State the role, location, experience and listing age. List the facts your portal needs to identify and assess a listing. Separate collection needs from display and republication decisions. For example, an unknown salary may be acceptable if the portal leaves salary unknown.
  2. Select the collection mode. Decide whether you need to discover listings or retrieve a known set. Apply the switch condition in the lead before you select the Actor. Do not assume repeated broad searches will recover every known listing.
  3. Set a small shared saved-row cap. Inspect the Task's current input and compare it with the Actor form. Apply the example settings only if they match your need. Record the cap as a total for the run. Do not multiply it by the number of keywords.
  4. Review the rows and run summary. Check `jobId` duplicates, source job URLs, available salary and experience text, and missing fields. Read the `OUTPUT` summary for stop reasons. Compare the result with your written requirements, including whether collection stopped at the cap. Chronometrica output documentation
  5. Check the source before display. Open source application pages to check their current state. Review applicable source terms before publishing a feed. Keep missing facts as `null`. Attach an observation time in your own storage so you know when the data was collected.

These checks can lead to three useful decisions: accept the compact search, change the requirements, or assess the alternative mode. A clear mode mismatch does not need a large test programme. A suitable mode still needs row review before you connect its output to a public feed.

If a required fact is missing, keep that finding separate from the row count. Five saved rows do not meet a requirement for five usable rows if some lack a field your portal needs. Decide which missing fields are acceptable before you assess the result.

A fictional decision with checked arithmetic

Consider a fictional career portal that wants a small set of data engineering listings for Bengaluru. It accepts unknown salary values, requires a source URL, and limits this collection to five unique saved listings.

In this invented example, the collection sees eight candidate appearances. Three appearances repeat `jobId` values already saved from another keyword in the same collection. Removing those repeats leaves five unique observed listings:

`8 candidate appearances − 3 duplicate appearances = 5 unique job rows`

The arithmetic is checked. The counts are fictional. This example is not an Actor test, a live dataset, a buyer quote or a measured cost result.

The portal stores each row's source URL. It later checks whether the application page is active. It also records the observation time and notes missing facts. This lets the portal assess the saved rows without claiming more than the observations show.

Five unique rows do not mean five employers or five active vacancies. The rows also do not establish permission to republish full descriptions. Those decisions need separate checks.

For this bounded discovery need, Chronometrica fits the selection rule. The portal gets a defined basis for collecting a small set of observed listings and reviewing them.

Now change the fictional requirement. The portal already holds five specific job IDs and needs their details. It should assess Kaix direct lookup instead of using discovery to find those records again. Kaix lookup modes

Store observations without counting extra vacancies

Use a job observation table in your own system. Within a run, key the rows by `jobId`. A key is the value that storage uses to distinguish one row from another. Retain the canonical source URL, which is the main source address for the listing. Note any missing fields.

Attach the time when your system observed the data. This is a storage recommendation. It does not claim that the Actor supplies a particular timestamp field. Keep the collection record separate from the later decision about whether the job should appear on the portal.

A repeated observation does not create another vacancy. If the same listing appears again, record that it was seen again. Do not increase the number of distinct listings only because the listing appeared in another search or on another date.

Preserve unknown facts. A missing salary is not a salary of zero. Missing experience is not a requirement for zero years. Replacing an unknown value with a number creates false information.

This storage method makes the tool choice useful beyond the first request. Your portal must retain the meaning of the collected rows when it stores, counts and displays them.

When the recommendation no longer fits

Chronometrica's saved-row cap makes the collection scope explicit. It does not establish that the saved rows contain every matching listing. If your original requirement is to save all results and their number exceeds the configured cap, Chronometrica does not meet that requirement with that configuration. Chronometrica saved-row controls

Increasing the cap does not prove complete source coverage. Increasing `searchDepth` does not prove it either. The checked evidence does not establish completeness. Keep an all-results requirement intact when you assess the tool. Do not replace it with a smaller sample and call the requirement met.

Each acceptance check answers a different question. A valid input has an allowed structure. A saved row records an observation. A checked application page gives evidence about that page at the time of review. None of these checks alone answers all three questions.

Chronometrica is an independent Actor API, not an official Naukri API. Public availability also does not establish unrestricted republication rights. Retain source links and review applicable source terms before displaying a feed. Chronometrica Actor

Sources & further reading

By Chronometrica · Updated

Back to top ↑