Job posting
A source-specific public listing with its own identifier, URL, title, description, and observation state.
- posting_id & URL
- title & description
- source dates & state
Jobs & talent data
Collect documented Google Jobs search and listing observations, or scope a maintained public-jobs feed that separates employers, postings, roles, locations, compensation, source context, and lifecycle events.
Jobs record model
Keep stable entities apart from source-specific posting text and time-bound observations. The model becomes useful for search, comparison, history, and analysis without overstating what a public page means.
A source-specific public listing with its own identifier, URL, title, description, and observation state.
The public employer identity shown by the source, retained separately from any normalized organization.
Normalized function, seniority, skills, and employment type derived under agreed rules.
Source text and structured cues for place, remote, hybrid, or on-site context.
Displayed salary or rate, currency, period, range, and provenance—not an inferred market benchmark by default.
A first-seen, content-change, last-seen, removal, or reappearance observation tied to one source.
A source can expose stale, duplicated, syndicated, removed, or reposted content. Public-page observations do not confirm headcount approval, applicant status, a filled role, or a hiring outcome.
Coverage brief
Search results, individual listings, employer career pages, and normalized board feeds are different products. Source and field support is confirmed against representative public pages.
Posting schema
A trustworthy jobs record shows what the source said, what a rule normalized, when it was observed, and whether the page was present, changed, or unavailable.
{
"posting_id": "job_042",
"source": {
"listing_id": "source_818",
"url": "https://jobs.example/818"
},
"employer": { "name_raw": "Example Labs" },
"role": {
"title_raw": "Data Engineer",
"work_mode": "hybrid"
},
"location": { "text_raw": "Bucharest" },
"compensation": { "state": "source_absent" },
"lifecycle": {
"first_seen": "YYYY-MM-DDThh:mm:ssZ",
"last_seen": "YYYY-MM-DDThh:mm:ssZ",
"state": "observed"
},
"schema_version": "jobs.v1"
}Identity & matching
Source identifiers stay intact. Employer resolution, role normalization, and cross-source posting relationships are separate, explainable rule sets.
Source key
Employer cues
Posting cues
Relationship
Freshness & lifecycle
Keep source-published dates apart from observation times. For recurring delivery, record change and disappearance without guessing the hiring outcome.
The date claimed by the source, when exposed.
The page or result was collected in the requested context.
A contracted field or content signature changed.
The posting entered and most recently appeared in tracked history.
Quality & missingness
Do not convert a missing salary to zero, an unspecified work mode to on-site, or an unavailable page to a filled role.
The public record passed the contracted source and field checks.
Prior and current observations retain a change reason or field diff.
The candidate remains inspectable rather than silently accepted.
Source absent, removed, access failed, and out-of-scope remain different states.
Required identifiers, URL shape, source state, timestamps, field types, and schema version.
Compensation units, work mode, geography, employer cues, description presence, and lifecycle transitions where contracted.
The customer approves source eligibility, taxonomy, match rules, completeness thresholds, and decision use.
Operating model
Maximum control
Applications
The data supports market observation and product experiences; customers own analysis, employment-law obligations, and every decision involving people.
Observe posting volume, roles, skills, employers, and locations across a defined public source set.
posting · role · employer · place · observed_atMap source-exposed requirements into an approved taxonomy with raw text retained.
description · skill cue · taxonomy · rule versionCompare source-displayed ranges with currency, period, location, and missingness attached.
compensation · unit · place · provenancePower discovery and alert workflows from documented request-time records or a scoped feed.
query · result · posting · source contextTrack public posting observations over time without equating them to verified headcount or hires.
employer · posting · first_seen · last_seenStudy source-exposed work mode and geography with normalization state kept visible.
location_raw · normalized place · work mode · timeRepresentative pilot
Use representative searches and listings to verify field presence, employer and role rules, compensation missingness, duplicate states, cadence, and downstream fit.
Name queries, sources, geographies, objects, required fields, cadence, and excluded people data.
Include duplicates, reposts, multi-location roles, missing salaries, removed pages, and changed content.
Review raw and normalized fields, match evidence, lifecycle events, timestamps, and quality states.
Agree schema, taxonomies, identity rules, cadence, quality thresholds, ownership, and delivery.
Evaluation FAQ
These answers separate source observations from vacancy claims, people data, and employment decisions.
The documented Google Jobs API supports job-search result observations, and the Google Jobs Listing API supports individual public listing details. Eligible public job pages can also be evaluated. Normalized multi-board feeds, compensation enrichment, company enrichment, and posting history begin with a representative pilot.
No. A job posting is not a verified open vacancy. It is a public source observation at a stated time. A source can be stale, duplicated, removed, reposted, or changed, so vacancy interpretation belongs to the customer.
A posting is a source-specific published object with its own URL, identifier, text, and observed lifecycle. A role is a normalized concept such as title, function, seniority, or skills. Multiple postings may describe the same hiring need, and that relationship is only asserted when agreed matching rules support it.
Lifecycle history is pilot first. A recurring program can retain first_seen, last_seen, content-change events, removal observations, and a derived inactive state. A removed page is evidence that the source no longer exposed the posting, not proof that the employer filled or cancelled the role.
Source-exposed compensation, employer names, locations, and work-mode text can be retained. Cross-source normalization, currency or period conversion, salary inference, employer resolution, and company enrichment are pilot-first rules with explicit provenance and missing states.
No. Applicant data, resumes, private ATS records, candidate profiles, hiring-manager notes, and login-only recruiting systems are not standard scope. This page concerns eligible public job-posting observations, not people data.
WebScrapingAPI does not provide FCRA or employment-screening decisions, candidate eligibility judgments, or hiring recommendations. Customers remain responsible for lawful use, validation, governance, and decisions made with public jobs data.
Source identifiers and URLs are retained first. A pilot can evaluate employer, title, location, description, and time cues to label exact, candidate, reposted, ambiguous, or source-only relationships. Similar postings are not automatically collapsed into one vacancy.
The schema distinguishes a field not shown by the source, a value outside the requested object, a page unavailable in the request context, a collection failure, and a normalization needing review. Missing data is not silently converted to zero, remote, or closed.
Proxy customers maintain their own collectors, parsers, and monitoring. WebScrapingAPI maintains documented API behavior within the product boundary. Scheduled and managed programs can include contracted extraction, normalization, quality monitoring, source-change maintenance, lifecycle history, and delivery.