ScrapeField

Blog · Guides ·

Every new LinkedIn job for a search, into n8n

A daily workflow that fetches every posting for a search, all pages of it, and appends them to a sheet. One HTTP Request node does the paging.

ScrapeField

Hiring signals are one of the best reasons to watch LinkedIn: a company posting five backend roles this week is a company with budget. This guide builds an n8n workflow that runs every morning, fetches every posting for a search from the last day, and appends them to a Google Sheet. It uses n8n’s built-in HTTP Request node, including its pagination, so there is nothing to install.

The shape of it

Four nodes, in a line:

  1. Schedule Trigger, once a day.
  2. HTTP Request, which calls us and follows every page.
  3. Split Out, which turns each page into one item per job.
  4. Google Sheets, Append Row.

The HTTP Request node

SettingValue
MethodGET
URLhttps://api.scrapefield.com/v1/linkedin/jobs
AuthenticationGeneric Credential Type → Header Auth, with name Authorization and value Bearer sf_live_…
Send Query Parametersquery = backend engineer, location = Berlin, posted_within_days = 1

Keeping the key in a Header Auth credential, rather than typing it into the node, means it isn’t exported with the workflow when you share it.

Following every page

A list comes back a page at a time, with a cursor for the next one in meta.next_cursor, and null on the last page (how lists work). Under the node’s Options → Pagination:

SettingValue
Pagination ModeUpdate a Parameter in Each Request
ParametersType Query, name cursor, value {{ $response.body.meta.next_cursor }}
Pagination Complete WhenOther
Complete Expression{{ $response.body.meta.next_cursor === null }}
Limit Pages FetchedOn, with a Max Pages you are comfortable paying for

The page limit is your spending cap: each page is 4 credits, so 25 pages is at most 100 credits a run, between $0.04 and $0.08 depending on your pack.

One item per job

The HTTP Request node outputs one item per page, each with the page’s jobs in data. Add a Split Out node with data as the field to split out, and every job becomes its own item with title, company.name, location, workplace_type, salary where the posting shows one, listed_at and url. The jobs reference has every field.

Into the sheet

The Google Sheets node, Append Row, maps those fields to columns. Keep job_id as one of them: it is LinkedIn’s own id and never changes, so it is what you dedupe on when a posting shows up two mornings running.

Swap the URL and the parameters, and the same workflow follows an Instagram hashtag, a TikTok search or a place’s new reviews. The pagination settings stay exactly as they are, because every list pages the same way.

More articles