A job card connects to separate numeric, lower-bound and unknown trays.
Keep the displayed phrase beside its source time.

Collection setup and field limits

To set up collection, replace the current preset inputs where `searchTerm` has three roles, `startUrls` is `[]`, and `saveOnlyUniqueItems` is `true`. Replace the entire role list with one intended `searchTerm` and location, set `maxItems` to `3`, `maxPagesPerSearch` to `1`, and `fetchJobDetails` to `true`.

Public build 0.2.19 provides row fields `jobId`, `jobUrl`, `title`, `companyName`, `applicantsRaw`, `postedAtRaw`, `postedAt`, and `scrapedAt`. The `applicantsRaw` field is a nullable string. Native string values like "35 applicants", "72 applicants", and "88 applicants" prove field availability only. The derived `postedAt` field comes from relative text and is not proof of exact publication time. Run outputs like `requestedMaxItems`, `jobsSaved`, `candidateItemsSeen`, `pagesParsed`, `detailRequests`, `detailFailures`, `blockedRequests`, `failedRequests`, and `stopReason` track job execution. A `stopReason` of `max_items_reached` proves a hit cap, not full market coverage.

A typed table means each column has one stated value type. An integer display is an exact transcription of the visible integer, but the underlying counted event remains unknown. A rounded display like "2K" is not a verified exact value or rounding interval. A lower bound display like "Over 100" shows a bound above 100, not exactly 100.

Step-by-step collection method

  1. State the actual question. A displayed counter does not show worker skills, job eligibility, unique people, or finished forms. This method creates a clear evidence record, not a hiring score or advice to quit.
  2. Collect one public job sample. Check the job ID and URL, and save the raw applicant text with the scrape time. The display can change or disappear later. Keep private recruiter reports out of your public data.
  3. Separate display states. Sort the text into integer display, rounded display, lower bound display, nonnumeric phrase, and unavailable. Keep the exact words plus the parsing rule. An integer is just a text copy, not proof that the event is exact or unique. Do not erase signs like over or plus.
  4. Parse only what the words say. The text "35 applicants" means an integer of 35. The text "Over 100 applicants" means a lower bound above 100, not exactly 100. The text "2K applicants" is shorthand with no verified rounding rule. A phrase like "Be among the first 25 applicants" is promotional text, not a direct count. A null value means unavailable, not zero.
  5. Add the event definition state and evidence. Without an official definition for this public page, keep the event unknown. Campaign Manager click and application counts belong to a different tool and do not define this public counter.
  6. Keep publication age separate from collection time. A relative label like "3 days ago" and one snapshot do not give an exact daily rate. A later observation shows a difference only if the job ID and display rules match. It is not proof of market growth.
  7. Use the record to see limits in your choice. Do not divide one by the count to find your chance of getting the job. Different applicants apply, the event is unknown, and no selection process is measured. Read the job details and assess your evidence instead of trusting a public rank.
  8. Deliver a typed table with raw text, display state, numeric evidence, event definition, date evidence, and unresolved reasons. Keep unknowns visible instead of guessing a real applicant number.

Original fictional complete raw-display ledger

The following examples and table rows are original fiction.

Original fictional complete raw-display ledger
Job IDSource RefRaw Display TextDisplay StateNumeric EvidenceEvent DefinitionDate EvidenceUTC Observation TimeUnresolved Reasons
J1fictional_src_0135 applicantsinteger_display35unknown3 days ago2026-10-13T06:00:00ZEvent type undefined
J2fictional_src_02Over 100 applicantslower_bound_displayabove 100unknown1 week ago2026-10-13T06:00:00ZBounded lower limit
J3fictional_src_032K applicantsrounded_displayunverifiedunknown2 weeks ago2026-10-13T06:00:00ZShorthand rounding
J4fictional_src_04Be among the first 25 applicantsnonnumeric_phrasenoneunknown4 days ago2026-10-13T06:00:00ZPromotional text
J5fictional_src_05nullunavailablenoneunknown5 days ago2026-10-13T06:00:00ZField missing
J6fictional_src_060 applicantsinteger_display0unknown6 days ago2026-10-13T06:00:00ZZero count, not missing

In this fictional set, there are six observation rows, two integer displays, one lower-bound display, one rounded display, one nonnumeric phrase, and one unavailable field. No set here contains six known applicant counts. Do not sum these states into a total market size. Unknown values remain separate from zero.

If J1 with the same identity is observed on 2026-10-14T06:00:00Z and shows "40 applicants", the comparable display difference is plus five. It is not five confirmed new unique finished applications. If it instead shows "Over 100", there is no exact comparable delta. A relative age of three days does not support dividing 35 by three to claim eleven applications per day.

Sources & further reading

By Chronometrica · Updated

Back to top ↑