Back to Firecrawl in Google Sheets
SheetXAI logo
Firecrawl logo
Firecrawl · Google Sheets Guide

Extract Job Listing Fields From URLs Into a Google Sheet

2026-05-14
5 min read

The Scenario

Someone on the sourcing team built a job tracking sheet four weeks ago. Column A has 60 job posting URLs pulled from LinkedIn and niche boards — roles the team is recruiting for competitors and tracking for market intelligence. The columns for job title, required skills, salary range, and location were supposed to be filled in. They're blank.

The person who started the project is no longer on the team. You picked it up yesterday.

The bad version:

  • Open each job listing URL, read the posting, type the job title into column B, copy the skills list into column C
  • Discover that fourteen postings have no listed salary — write "not listed" and move on
  • Get to URL 38, realize the role was taken down, and now you have a 404 where a salary range used to be

You have a recruiting sync in two days where the team expects a filled-in tracker. You have 60 URLs and an empty spreadsheet.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Google Sheet. It reads your data and through its built-in Firecrawl integration it can extract structured fields from each job posting URL and write them back into the appropriate columns — one pass, all 60 rows. You describe the fields you need and it handles the extraction.

For each job URL in column A of my "Job Tracker" sheet, use Firecrawl to extract the job title into column B, required skills into column C, salary range into column D, and job location into column E. Write "not listed" for any field that wasn't found on the page. Flag any URL that returned an error in column F.

What You Get

  • Column B with the job title exactly as written in the posting
  • Column C with the required skills — either as a comma-separated list or as they appeared in the skills section
  • Column D with the salary range if listed, or "not listed" if the posting omitted it
  • Column E with the work location, including remote/hybrid flags where mentioned
  • Column F with an error flag for any URL that returned a 404 or couldn't be parsed, so the team knows which postings have gone dark

What If the Data Is Not Quite Ready

Some job titles include level prefixes that aren't standardized — "Sr.", "Senior", "Lead", "Principal" all appear

After extracting job titles into column B, normalize the seniority prefix so that "Sr." becomes "Senior", "Snr" becomes "Senior", and "Prin." becomes "Principal". Write the normalized title into column G and keep the original in column B.

The skills in column C are inconsistently formatted — some rows have a paragraph, some have a bullet list

For each row where column C contains a full paragraph instead of a comma-separated list, rewrite column C to extract just the individual skills and separate them with commas. Rows that already have a comma-separated list can stay as-is.

The tracker has postings from two sources — LinkedIn (URLs in column A) and direct company career pages (URLs in column H) — each needs different fields extracted

For LinkedIn URLs in column A, extract job title into column B, required skills into column C, and salary range into column D. For company career page URLs in column H, extract job title into column I, location into column J, and the full job description text into column K. Flag any URL in either column that returned an error.

The full pipeline: scrape, normalize seniority, classify role level, and flag equity-heavy roles

Scrape all 60 URLs in column A with Firecrawl. Extract job title into column B, skills into column C, salary range into column D, and location into column E. Normalize all seniority prefixes in column B to use "Senior", "Lead", or "Principal". Classify each role as junior/mid/senior based on the title and skills and write the classification into column F. Flag any role where the salary range in column D is below $80,000 or "not listed" into column G.

One instruction handles the scrape, the normalization, the classification, and the flagging.

Try It

Get the 7-day free trial of SheetXAI and open your job tracker with the URL column, then ask it to extract every structured field from those postings in one pass. Link to the hub: How to Connect Firecrawl to Google Sheets. Also see: Bulk Scrape Competitor URLs Into Google Sheets With Firecrawl.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more