definitionslinkfetch / § glossary
§ glossary

The words we use, defined.

Short definitions for the terms that show up across the API, the dataset and the docs. Linked from wherever they first appear.
Guest endpoints
The pages and JSON endpoints LinkedIn serves to a visitor who is not logged in — public job postings above all. LinkFetch's jobs index is built only from these, which is why it needs no account, no session and no extension.Jobs API
User-as-principal
LinkFetch's model for anything behind a login: profile, company, post, group and search reads run in the end user's own LinkedIn session through the Chrome extension. The user is the principal; LinkFetch never operates a fake or rented account on anyone's behalf.Compliance
Provenance stamp
The meta.provenance block on every response: source (where the row came from), fetched_at (when), and freshness_days (how old it is). It lets an agent cite what it learned and decide whether to re-fetch.Provenance
Credit
LinkFetch's billing unit. Each endpoint has a fixed credit cost per request regardless of rows returned, and empty results cost zero. The free tier includes $5 of credit.Pricing
first_seen_at / last_seen_at
Lifecycle timestamps on every job row: when LinkFetch's crawler first indexed the posting, and the most recent crawl that still found it live. Together they give a posting's observed lifetime independent of the date LinkedIn displays.
is_active
A boolean re-checked on every recrawl. False once LinkedIn stops serving the posting. Filtering on it keeps an agent's index free of expired roles.
Applicant count
The number of applicants LinkedIn displayed for a posting at the last observation, with applicant_count_is_capped set when LinkedIn showed a ceiling such as "over 200" instead of a number. Present on ~8% of rows.Dataset schema
Applicant velocity
How fast a posting's applicant count is rising, derived from job_applicant_history — the table that records a timestamped applicant count each time a posting is re-observed. A high velocity means a competitive role; a flat series on an old posting often means it is effectively filled.Jobs dataset
Parsed salary
salary_min, salary_max, salary_currency and salary_interval, extracted from the posting's own salary text so they can be compared as numbers. Present on ~10% of rows; the raw salary_range string is kept alongside.
Geo ID
LinkedIn's numeric identifier for a place. Resolving a city or region name to its geo ID via the locations endpoint gives exact matching instead of free-text substring matching on the location field.Locations API
Snapshot
The one-time jobs dataset purchase: the whole archive built fresh on the day of purchase as a PostgreSQL dump, CSV and JSONL, with a manifest stating exact row counts and the coverage window. $199.
Live access
The subscription form of the jobs dataset: a read-only Postgres role on a replica refreshed nightly, with unlimited queries and no credits. $49/month.
MCP server
A Model Context Protocol server exposes an API as tools an AI client can call natively. LinkFetch's is the linkfetch-mcp package; it runs locally over stdio and is metered exactly like the REST API.MCP server
extension_required
The 422 response returned when a session-backed record is not in LinkFetch's cache yet. The Chrome extension captures the page from the user's signed-in tab, and the next call returns the row.Chrome extension
Envelope
The response shape shared by every endpoint: data holding the typed record or records, and meta holding request_id, credits_charged, rate_limit and the provenance stamp. Errors use the same envelope with a top-level error object.Errors