
Global Sources Supplier Scraper
scrape.ly/store/cornerledger/globalsources-scraperLead generationE-commerce
2 monthly users

Scrape public Google Jobs listings by role and city. Each row includes the company, location, full description, highlights, and direct apply links.
Collect job listings from the public Google Jobs tab and save one row per job. Each row has the title, company, location, description, schedule and posting-age tags, structured highlights, and the apply links Google shows. No login and no job-board account, at $4 per 1,000 jobs.
Search any role in any supported country, filter by how recently it was posted, and export the jobs as JSON, CSV, or Excel.
| Field | Type | Description |
|---|---|---|
query | string | Role or keywords, the same words you would type into Google Jobs. |
location | string | City, region, or country. A city gives the closest match. |
maxResults | integer | Stop after this many listings. Google returns about 10 per page. |
country | string | Two-letter country code, such as us, uk, de, ca. |
language | string | Interface language, such as en, de, es. Leave empty to use the country language. |
googleDomain | string | Google host, such as google.com or google.de. |
postedWithin | string | any, 24h, 3d, 7d, or 30d. Listings with no date stay in. |
locationRadiusKm | integer | Optional search radius in kilometers. |
proxyConfiguration | object | Proxy settings. Datacenter is the default. |
{
"query": "Software Engineer",
"location": "San Francisco, CA",
"maxResults": 10,
"country": "us",
"postedWithin": "any"
}
If a location search comes back thin, the run tries once more with the city added to the query.
One dataset row per job.
| Field | Description |
|---|---|
title, company_name, via | Job title, company, and the board Google credits. |
location, search_location | The place on the listing, and the place you searched. |
description | Job description text. |
extensions, detected_extensions | Tags such as posting age and schedule type. |
job_highlights | Sections like Qualifications and Benefits with their items. |
apply_options, source_link, share_link | Apply links and the Google share link. |
job_id, query, country, language, google_domain | Search context. |
search_timestamp, total_jobs_found, pages_processed | Run details. |
A trimmed item from a real run:
{
"title": "Software Engineering LMTS",
"company_name": "Salesforce",
"location": "San Francisco, CA",
"search_location": "San Francisco, CA",
"via": "LinkedIn",
"description": "To get the best candidate experience, please consider applying for a maximum of …",
"extensions": ["23 hours ago", "Full-time"],
"detected_extensions": { "posted_at": "23 hours ago", "schedule_type": "Full-time" },
"job_highlights": [
{ "title": "Qualifications", "items": ["B.S/M.S. in Computer Science or equivalent field with 8+ years of software devel…"] }
],
"apply_options": [
{ "title": "LinkedIn", "link": "https://www.google.com/goto?url=CAES3QEB6zswFQeQXNXb86l1VTK_…" },
{ "title": "Workday", "link": "https://www.google.com/goto?url=CAESqQIB6zswFQS9cvIgXK-D_mPU…" }
],
"share_link": "https://www.google.com/search?ibp=htl;jobs&q=Software%20Engineer&htidocid=1TcMD-…",
"query": "Software Engineer",
"country": "us",
"language": "en",
"google_domain": "google.com",
"total_jobs_found": 10,
"pages_processed": 1
}
Each saved job costs $0.004, which is $4 per 1,000 jobs. A search that saves zero jobs has a result charge of zero. Compute, browser time, and proxy traffic are billed as platform usage on top.
Worked example: a 10-job search costs 10 x $0.004 = $0.04 in event fees. A billed staging run of that size cost about $0.062 in total, including browser compute and proxy.
The query may be too narrow, Google may have no listings for that country, or Google showed a traffic check. The run retries once after a traffic check; if it still sees one, it saves nothing and you can run it again.
The run stops when Google has no further listings for that search.
Google Jobs does not serve listings for Australia, New Zealand, Ireland, South Korea, Poland, Czech Republic, Turkey, Ukraine, Israel, Norway, Sweden, Finland, or the Baltic states. Those runs stop before a search and are not charged.
No account on any job board is needed. Datacenter proxies are the default.
It reads public search pages. You are responsible for following Google's terms and the laws that apply to your use of the data.
Yes. Schedule runs, start them through the API, and read the dataset in any export format.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
querystringRequiredJob search
Role or keywords, the same words you would type into Google Jobs.
locationstringOptionalLocation
City, region, or country. A city gives the closest match.
maxResultsintegerOptionaldefault 10Maximum jobs
Stop after this many listings. Google returns about 10 jobs per page. At most 100, because the actor compares the whole job lists from its Google sessions and keeps them in memory before it saves any.
Country, language, posting date, and search radius.
countrystringOptionaldefault "us"Country
Two-letter country code for the Google Jobs site, such as us, uk, de, or ca.
languagestringOptionalLanguage
Interface language, such as en, de, or es. Leave empty and Google uses the language that matches the country.
googleDomainstringOptionaldefault "google.com"Google domain
Host to search, such as google.com or google.de.
postedWithinenumOptionaldefault "any"Posted within
Keep listings posted in this window. Listings with no date stay in the results.
locationRadiusKmintegerOptionalLocation radius (km)
Optional search radius in kilometers. Leave empty for Google's normal area.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies are the default. Switch to residential if a search is blocked. Proxy traffic is billed per GB.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| title | string | Title of the listing. |
| company_name | string | Employer name. |
| location | string | null | Location published on the listing. |
| via | string | Site that carries the listing. |
| extensions | array | Posted date, schedule, salary, and benefits tags. |
| share_link | string | Public Google Jobs link for this listing. |
| source_link | string | First apply URL, without campaign parameters. |
| description | string | Job description text. |
| job_highlights | array | Qualifications, responsibilities, and benefits. |
| apply_options | array | Places to apply, each with a title and link. |
| detected_extensions | object | Posted date, schedule, salary, and benefit flags parsed from the tags. |
| query | string | Search text that found this listing. |
| search_location | string | null | Location from the input. |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Result | One job listing saved to the dataset. | $0.004 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('openrole/google-jobs-scraper').call({
"query": "Software Engineer",
"location": "San Francisco, CA",
"maxResults": 10,
"country": "us",
"googleDomain": "google.com",
"postedWithin": "any",
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run openrole/google-jobs-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=openrole/google-jobs-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Job listings from Google Jobs by title and city.
Jobs posted in the last day.
Google Jobs results for the German market.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.