# Google Jobs Scraper (`dan.scraper/google-jobs-scraper`) Actor

Google Jobs Scraper is to enable you to scrape Google Jobs Results, extract "googleJobs", "categories". Allow customizing country or language or job radius and extraction of custom attributes. Download data as HTML table, JSON, CSV, Excel, XML.

- **URL**: https://apify.com/dan.scraper/google-jobs-scraper.md
- **Developed by:** [Scrape It](https://apify.com/dan.scraper) (community)
- **Categories:** Jobs, Lead generation
- **Features:** Full permissions
- **Stats:** 1,062 total users, 9 monthly users, 100.0% runs succeeded, 15 bookmarks
- **User rating**: No ratings yet

## Pricing

$10.00 / 1,000 one pages

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### Features

Our Google Jobs Scraper crawls Google Jobs Search Results Pages and extracts data from the HTML in a structured format such as JSON, XML, CSV, or Excel.

The following data can be extracted from each Google Jobs results:

- Google Jobs
- Categories

### Google Jobs Scraper

Our Google Jobs Scraper provides real-time results optimized for structured JSON output that you can download and use any way you want.

### Why use a Google Jobs Scraper?

- ⚡️ Scrape Google jobs results with all available fields from Google Jobs results.
- 💪 Actively maintaining. We've implemented this scraper from scratch and will actively maintain it.
- 🙌 Any feature requests, customization or support, please email <everything@blinkscraper.com>. We will implement for you.

### Cost of usage

The price is very affordable. 10 USD per 1000 pages. For example: You scrape 20 keywords, each keyword has 5 pages(about 1000 jobs results), it will cost only 1 USD.

If you spent 20 USD per month, you can get about 20,000 jobs results per month.

If the actor fails to deliver the results, you will not be charged.

### Number of results

The default number of results per page is 10. You can set `maxPagesPerQuery` to get more results with pagination. More pages, more results.

### Input settings

The actor gives you fine-grained control over what kind of Google Jobs results you'll get.

You can specify the following settings:

- Query phrases
- Exact geolocation
- Country
- Language
- Google Domain
- Jobs Radius
- Remote Only
- Job Radius
- Filters: Date posted, Salary, Job type, Company type, Experience level, Job category, and more
- Maximum of pages per query

For a complete description of all settings, see  [input specification](https://www.apify.com/dan.scraper/google-jobs-scraper?section=input-schema).

### Results

The actor stores its result in the default [dataset](https://apify.com/docs/storage#dataset) associated with the actor run, from which you can export it
to various formats, such as JSON, XML, CSV, or Excel.

The results can be downloaded from the [Get dataset items](https://www.apify.com/docs/api/v2#/reference/datasets/item-collection/get-items) API endpoint:

```
https://api.apify.com/v2/datasets/[DATASET_ID]/items?format=[FORMAT]
```

where `[DATASET_ID]` is the ID of the dataset and `[FORMAT]`
can be `csv`, `html`, `xlsx`, `xml`, `rss` or `json`.

For each Google Jobs results page, the dataset will contain a single record, which in JSON format looks as follows. Bear in mind that some fields have example values:

```json
{
	"accountant": [
		{
			"googleJobs": [
				{
					"title": "Accountant and Financial Analyst-CA",
					"companyName": "ATC",
					"location": "United States",
					"via": "LinkedIn",
					"shareLink": "https://www.google.com/search?ibp=htl;jobs&q=accountant&htidocid=VbiAMjMgfXUWexLwAAAAAA%3D%3D&hl=en-US&shndl=37&shmd=H4sIAAAAAAAA_xXLsQrCMBAAUFw7OzndLLQRwaVOoaDgqs7lkh5pJN6V3gn1K_xldXnbqz6rqvUxyosN2QB5gFNm5JixgGcsb7W681DDRQIo4RxHEIazSCq0OY5mk7bOqZYmqaHl2ER5OmEKsriHBP3T64gzTQWN-v1htzQTp-3a3zrIDHfORgNcf5v0CzVDGlySAAAA&shmds=v1_AUFQtOOR0OntvE17sdJijV6CNEyNNTsk53PQUcTGJzY-d2i7Nw&source=sh/x/job/li/m1/1#fpstate=tldetail&htivrt=jobs&htiq=accountant&htidocid=VbiAMjMgfXUWexLwAAAAAA%3D%3D",
					"thumbnail": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAMAAACfWMssAAAAkFBMVEUAAAD///+EhITt7e3a2tqkpKRZWVlubm7y8vI4ODhnZ2eJiYmdnZ11dXV8fHzMzMxJSUkiIiKRkZE+Pj5eXl7T09Pk5OQJCQkyMjLFxcUXFxe2tratra1RUVEDAAW+vr43ExVfIiY/GBqDKzH/TlaQLzVZXlneRVP/QlH/QlrdS1LTQU9SHSD9UlvqTFYqKiq8TzCbAAABKUlEQVRIie2S21KDMBCGN4QzQWgKCLaCVVrw2Pd/OxMWQo1mxumF40W+C+afsl+z7AbAYrFY/gEVDaNrvIIQsv1l7W2cMObUU66pEFO/wENjznhg0nKXIA1AtGTiiTfenOOfxXqpFWaq8g1AtuTccGRDSNmEsmLDlehDorKx11Q8ovmYgCzDoejf8Z1xOJHj7XeyzLkQN8uXGvGp6ulSvP86lrZt9UbRCXWxwE7NdLKgANDF7fwD8nB41EW5OXetC9T8Zahk4Dk89X1/1MRyMlI6i/7Ud0MZrjHMxB+fYBifxxdNZGTFmQ8SMFwQwQ95Hcdx0HvFobriGpAE1D0Ti4jXm/M2vH8cvo1nX9GSg9N13TTENKO0ZOepGxFd7wy4CX0fFovF8gd8Au2pDLW8CpjYAAAAAElFTkSuQmCC",
					"extras": [
						"21 hours ago",
						"Internship"
					],
					"metadata": {
						"postedAt": "21 hours ago",
						"scheduleType": "Internship"
					},
					"description": "Job Description:\n\nWe are seeking a detail-oriented and motivated professional to join our team as an Accountant and Financial Analyst. This role combines accounting, bookkeeping, and financial analysis to support our organization's financial operations and strategic decision-making.\n\nKey Responsibilities\n• Maintain accurate and up-to-date bookkeeping records, including accounts payable, accounts receivable, and general ledger entries\n• Prepare financial statements, budgets, and forecasts in compliance with standard accounting principles\n• Analyze financial data to identify trends, variances, and opportunities for cost optimization or revenue growth\n• Assist in gathering, analyzing, and documenting financial and operational requirements to support decision-making processes\n• Develop and implement processes for tracking key financial metrics and performance indicators\n• Collaborate with cross-functional teams to provide financial insights and reports to stakeholders at all levels, including leadership\n• Participate in audits, ensuring compliance with regulatory requirements and internal policies\n• Perform reconciliations and ensure timely month-end and year-end closing activities\n• Create and review test cases for financial system implementations or upgrades, including use cases and test conditions\n• Adapt and excel in a dynamic, fast-paced work environment\n\n.\n\nQualification\n• Bachelor’s degree in Accounting, Finance, or a related field; Master’s in Business Administration is a plus.\n• Strong foundation in accounting principles, financial analysis, and bookkeeping.\n• Proficiency in financial systems and tools, with experience in ERP systems being an advantage.\n• Excellent communication skills to effectively collaborate with stakeholders across the organization.\n• Demonstrated leadership, analytical thinking, and business acumen\n• Experience with testing phases (system, integration, user acceptance) and creating use cases is beneficial.\n• Having a CPS Certification is an added advantage.\n\nOther Details:\n• Candidates with F1/OPT work authorization are welcome to app\n• Sponsorship for H1B and related work visas is available for eligible candidate.\n• We are an equal-opportunity employer committed to diversity and inclusion.",
					"jobHighlights": [
						{
							"title": "Qualifications",
							"items": [
								"Strong foundation in accounting principles, financial analysis, and bookkeeping",
								"Proficiency in financial systems and tools, with experience in ERP systems being an advantage",
								"Excellent communication skills to effectively collaborate with stakeholders across the organization",
								"Demonstrated leadership, analytical thinking, and business acumen",
								"Experience with testing phases (system, integration, user acceptance) and creating use cases is beneficial",
								"Having a CPS Certification is an added advantage",
								"Sponsorship for H1B and related work visas is available for eligible candidate"
							]
						},
						{
							"title": "Responsibilities",
							"items": [
								"We are seeking a detail-oriented and motivated professional to join our team as an Accountant and Financial Analyst",
								"This role combines accounting, bookkeeping, and financial analysis to support our organization's financial operations and strategic decision-making",
								"Maintain accurate and up-to-date bookkeeping records, including accounts payable, accounts receivable, and general ledger entries",
								"Prepare financial statements, budgets, and forecasts in compliance with standard accounting principles",
								"Analyze financial data to identify trends, variances, and opportunities for cost optimization or revenue growth",
								"Assist in gathering, analyzing, and documenting financial and operational requirements to support decision-making processes",
								"Develop and implement processes for tracking key financial metrics and performance indicators",
								"Collaborate with cross-functional teams to provide financial insights and reports to stakeholders at all levels, including leadership",
								"Participate in audits, ensuring compliance with regulatory requirements and internal policies",
								"Perform reconciliations and ensure timely month-end and year-end closing activities",
								"Create and review test cases for financial system implementations or upgrades, including use cases and test conditions",
								"Adapt and excel in a dynamic, fast-paced work environment"
							]
						}
					],
					"applyOptions": [
						{
							"title": "LinkedIn",
							"link": "https://www.linkedin.com/jobs/view/accountant-and-financial-analyst-ca-at-atc-4175043370?utm_campaign=google_jobs_apply&utm_source=google_jobs_apply&utm_medium=organic"
						}
					]
				},
                ...many more jobs...
			],
			"categories": [
				{
					"name": "Salary",
					"parameters": {
						"uds": "ABqPDvztZD_Nu18FR6tNPw2cK_RRIyGl5d5y6jE2qW0EkA1m10DEJi5pjYe6kW-OyeDbcPweYwmk2mq7WVWJcnPdBkJpVZf8kCaZ2ctGg1NnU4olNzTNjkBrrBVAXX9pCfXBbz0tjBlWFM3RgOmU8D0Pu6p4bjxI4YQHECQ8EtOGBYvO4J8Bw90",
						"q": "Accountant salary"
					},
					"link": "https://www.google.com/search?sca_esv=e6eef6b59335224c&q=Accountant+salary&uds=ABqPDvztZD_Nu18FR6tNPw2cK_RRIyGl5d5y6jE2qW0EkA1m10DEJi5pjYe6kW-OyeDbcPweYwmk2mq7WVWJcnPdBkJpVZf8kCaZ2ctGg1NnU4olNzTNjkBrrBVAXX9pCfXBbz0tjBlWFM3RgOmU8D0Pu6p4bjxI4YQHECQ8EtOGBYvO4J8Bw90&udm=8&sa=X&ved=2ahUKEwijzLz93vKLAxVCQzABHdDKBU0QxKsJegQIDRAB&ictx=0"
				},
				{
					"name": "Remote",
					"parameters": {
						"uds": "ABqPDvztZD_Nu18FR6tNPw2cK_RRGVqEvQbSgGwAipcBUT4ZFlrNs1-SdZsW_f8Ah1wJdigg6OYrTEKXy6DMgeMXash0Q1KNwVIHEnOOcHEDH4e8WDqMCBk6C6tPC4X59NuJdcC0rkTWofOydRafq6KQChsyctfwzw",
						"q": "accountant remote"
					},
					"link": "https://www.google.com/search?sca_esv=e6eef6b59335224c&q=accountant+remote&uds=ABqPDvztZD_Nu18FR6tNPw2cK_RRGVqEvQbSgGwAipcBUT4ZFlrNs1-SdZsW_f8Ah1wJdigg6OYrTEKXy6DMgeMXash0Q1KNwVIHEnOOcHEDH4e8WDqMCBk6C6tPC4X59NuJdcC0rkTWofOydRafq6KQChsyctfwzw&udm=8&sa=X&ved=2ahUKEwijzLz93vKLAxVCQzABHdDKBU0QxKsJegQIDBAB&ictx=0"
				},
				{
					"name": "Date posted",
					"options": [
						{
							"name": "Yesterday",
							"parameters": {
								"uds": "ABqPDvztZD_Nu18FR6tNPw2cK_RR-VaN49Vg4YlkGqMrCWb4vTFVGQbPYOB0xeecWH0BIARtGPnChZlRHOjCrpGUU1cDlrGcY7Kbnji7oq49smwe6Fi7Ori9bqI9mRd-kIaMBurkQQhpAmOiBfaFsiUYXUWGNODcfwVaeFMhp2KYZB6jwDPcyBSGll1ULPh7YjB5io5sKePsAdM1woNMVboKWRah4uV8EBrFY3WQxktarAP30s_UZ0UdA0cmQ-D04A_jYzRMTB-5_iOWv32EHYri74yze3HsMOYmTZcEoRSLPQpDzQU7sCS9IljxixIZuyOh5RteOWeQ",
								"q": "accountant since yesterday"
							},
							"link": "https://www.google.com/search?sca_esv=e6eef6b59335224c&q=accountant+since+yesterday&uds=ABqPDvztZD_Nu18FR6tNPw2cK_RR-VaN49Vg4YlkGqMrCWb4vTFVGQbPYOB0xeecWH0BIARtGPnChZlRHOjCrpGUU1cDlrGcY7Kbnji7oq49smwe6Fi7Ori9bqI9mRd-kIaMBurkQQhpAmOiBfaFsiUYXUWGNODcfwVaeFMhp2KYZB6jwDPcyBSGll1ULPh7YjB5io5sKePsAdM1woNMVboKWRah4uV8EBrFY3WQxktarAP30s_UZ0UdA0cmQ-D04A_jYzRMTB-5_iOWv32EHYri74yze3HsMOYmTZcEoRSLPQpDzQU7sCS9IljxixIZuyOh5RteOWeQ&udm=8&sa=X&ved=2ahUKEwijzLz93vKLAxVCQzABHdDKBU0QkbEKegQIFBAC"
						},
						{
							"name": "Last 3 days",
							"parameters": {
								"uds": "ABqPDvztZD_Nu18FR6tNPw2cK_RRULB34usGZBEQBmLJqm07mrjpyqcJRbBeH5ArvuYiSlXPkallFtVgAX4LBdacw9_0T3SfQZ7_wbKV_6oRu49dNUARXe4EXHZVTOB-YGXmQSP1xqA7W2tHUDDgqVyi_GVWzDd4MakROqHPFvfAmLI4_HKmaEWUsQNKzxFsIEv6M1jugonVw87sVyBfY9EcQgg9RXtMB2bquHR2riuqscmkDCeyGmla6Bf8z-UkvvSv4S_1uqlzkeAYm6Mxm7g1B6OtmTCHxLVyOlUQDmB85Qld17lZdSoOlKxIBC5ei3YcCJL24cq7",
								"q": "accountant in the last 3 days"
							},
							"link": "https://www.google.com/search?sca_esv=e6eef6b59335224c&q=accountant+in+the+last+3+days&uds=ABqPDvztZD_Nu18FR6tNPw2cK_RRULB34usGZBEQBmLJqm07mrjpyqcJRbBeH5ArvuYiSlXPkallFtVgAX4LBdacw9_0T3SfQZ7_wbKV_6oRu49dNUARXe4EXHZVTOB-YGXmQSP1xqA7W2tHUDDgqVyi_GVWzDd4MakROqHPFvfAmLI4_HKmaEWUsQNKzxFsIEv6M1jugonVw87sVyBfY9EcQgg9RXtMB2bquHR2riuqscmkDCeyGmla6Bf8z-UkvvSv4S_1uqlzkeAYm6Mxm7g1B6OtmTCHxLVyOlUQDmB85Qld17lZdSoOlKxIBC5ei3YcCJL24cq7&udm=8&sa=X&ved=2ahUKEwijzLz93vKLAxVCQzABHdDKBU0QkbEKegQIFBAD"
						},
						{
							"name": "Last week",
							"parameters": {
								"uds": "ABqPDvztZD_Nu18FR6tNPw2cK_RRzjoh8RfrXLGGF0QjFsSY441E0pEepBEAKeZoPhS5qTz3JBWIw2FEyWaJIE5kHAbcvYSvBxeKoHdsOOqJrtJlyN9VHP_GGwscgsdWPd2yZyS88Zh4fB_xQWNYzsOFFInyytB_mcGTp8WXrfELeGshKIzvRNoddO_tDzCHlqZ15Ed_s7ipt9NhWlH7o18AestFkeVV-zEIN1j9SkVVKdliMxJo4Ajts8Ov4RHkxhfkx18vWpf12H5KiCqprnD-3ralSezISlHdecmTTTCv4GKHIXlEfWsgRZDtmn3MU_C5oXKZFMPG",
								"q": "accountant in the last week"
							},
							"link": "https://www.google.com/search?sca_esv=e6eef6b59335224c&q=accountant+in+the+last+week&uds=ABqPDvztZD_Nu18FR6tNPw2cK_RRzjoh8RfrXLGGF0QjFsSY441E0pEepBEAKeZoPhS5qTz3JBWIw2FEyWaJIE5kHAbcvYSvBxeKoHdsOOqJrtJlyN9VHP_GGwscgsdWPd2yZyS88Zh4fB_xQWNYzsOFFInyytB_mcGTp8WXrfELeGshKIzvRNoddO_tDzCHlqZ15Ed_s7ipt9NhWlH7o18AestFkeVV-zEIN1j9SkVVKdliMxJo4Ajts8Ov4RHkxhfkx18vWpf12H5KiCqprnD-3ralSezISlHdecmTTTCv4GKHIXlEfWsgRZDtmn3MU_C5oXKZFMPG&udm=8&sa=X&ved=2ahUKEwijzLz93vKLAxVCQzABHdDKBU0QkbEKegQIFBAE"
						},
						{
							"name": "Last month",
							"parameters": {
								"uds": "ABqPDvztZD_Nu18FR6tNPw2cK_RRDCGnUVL0tJsGyWKnQRfd-UP3h5-I8KVtEwM672bRSJKj1WXYe6IO35_TTPuaeqh6RjcJzupfHqL1z1cMHxZla-FDLmO9k9ACEgGn5AkRF7HL1Hhc4S4zQgmGXP90Dqwr5ZJuEgEsJ5pw9oj0Wa8n_XomoVvpN0kbf_9VnZDEGHCfeMgdT1kE7o5F0wRnQJysHDaGWhrFY_cDPWMe_OXMZnc0i--I8IY-gIkSZK_Y1kDY0CS03YsUVXBm4DdO7E5Iw9Vmxv4fnZVDcyaWw_YiFZeIddBtAi9ukekWW6CMO5cTWf8R",
								"q": "accountant in the last month"
							},
							"link": "https://www.google.com/search?sca_esv=e6eef6b59335224c&q=accountant+in+the+last+month&uds=ABqPDvztZD_Nu18FR6tNPw2cK_RRDCGnUVL0tJsGyWKnQRfd-UP3h5-I8KVtEwM672bRSJKj1WXYe6IO35_TTPuaeqh6RjcJzupfHqL1z1cMHxZla-FDLmO9k9ACEgGn5AkRF7HL1Hhc4S4zQgmGXP90Dqwr5ZJuEgEsJ5pw9oj0Wa8n_XomoVvpN0kbf_9VnZDEGHCfeMgdT1kE7o5F0wRnQJysHDaGWhrFY_cDPWMe_OXMZnc0i--I8IY-gIkSZK_Y1kDY0CS03YsUVXBm4DdO7E5Iw9Vmxv4fnZVDcyaWw_YiFZeIddBtAi9ukekWW6CMO5cTWf8R&udm=8&sa=X&ved=2ahUKEwijzLz93vKLAxVCQzABHdDKBU0QkbEKegQIFBAF"
						}
					]
				},
				{
					"name": "Job type",
					"options": [
						{
							"name": "Full time",
							"parameters": {
								"uds": "ABqPDvztZD_Nu18FR6tNPw2cK_RRpYxKrzKt8zwR-_o_dh55Z_QL_3lKe8ADTTcn14PBHPPDG7D9nbzxOjukw88rr3Om0lNHzy2nh2wnZdriQbqPuYuhdvt_bjmRrTOuWlVCzq_I0VPLSCbDFWpoP9JBPlZw4rRi_JDl1i2G1RB3H93Pcq6rm1GcfG_k2vzH2rX73UitZyiGpnRWGcrVc-9sJ60Pl1X_VnSTLqzp4-kXEcvK-PBhF8foBlqthBV49YyTTuRMiafyNUtuUnZjOGN3Hw0H5_2QOYlvZGVLotWxH_-QKyUqD3A",
								"q": "accountant full time"
							},
							"link": "https://www.google.com/search?sca_esv=e6eef6b59335224c&q=accountant+full+time&uds=ABqPDvztZD_Nu18FR6tNPw2cK_RRpYxKrzKt8zwR-_o_dh55Z_QL_3lKe8ADTTcn14PBHPPDG7D9nbzxOjukw88rr3Om0lNHzy2nh2wnZdriQbqPuYuhdvt_bjmRrTOuWlVCzq_I0VPLSCbDFWpoP9JBPlZw4rRi_JDl1i2G1RB3H93Pcq6rm1GcfG_k2vzH2rX73UitZyiGpnRWGcrVc-9sJ60Pl1X_VnSTLqzp4-kXEcvK-PBhF8foBlqthBV49YyTTuRMiafyNUtuUnZjOGN3Hw0H5_2QOYlvZGVLotWxH_-QKyUqD3A&udm=8&sa=X&ved=2ahUKEwijzLz93vKLAxVCQzABHdDKBU0QkbEKegQIFRAC"
						},
						{
							"name": "Part time",
							"parameters": {
								"uds": "ABqPDvztZD_Nu18FR6tNPw2cK_RRpYxKrzKt8zwR-_o_dh55Z_QL_3lKe8ADTTcn14PBHPMFiGYw9CGqb5y9dk4JQQBTF-naMlzGrtcRgRzsNdjOyb0nV8N2PXpTcu3ahvNYVaVFp_bMkYL2bSEo-hc8Y7ziXuWhCqQBg1kGLnzHz_TUdnNxO078ydZ-iHgbfYbOuNp99vGYkkCAPcpKvIhJ6NRFZ61IcSQLSNX0hapOW8hxRbzwgudHH6d578vftcmTAmEt2U-_SrNoYWN8SGf13E5VV6CHqmN4h8VqMSm-O-UEPmXmmwTlrnKq5-GPUtHoU9_T2yKZ",
								"q": "accountant part time"
							},
							"link": "https://www.google.com/search?sca_esv=e6eef6b59335224c&q=accountant+part+time&uds=ABqPDvztZD_Nu18FR6tNPw2cK_RRpYxKrzKt8zwR-_o_dh55Z_QL_3lKe8ADTTcn14PBHPMFiGYw9CGqb5y9dk4JQQBTF-naMlzGrtcRgRzsNdjOyb0nV8N2PXpTcu3ahvNYVaVFp_bMkYL2bSEo-hc8Y7ziXuWhCqQBg1kGLnzHz_TUdnNxO078ydZ-iHgbfYbOuNp99vGYkkCAPcpKvIhJ6NRFZ61IcSQLSNX0hapOW8hxRbzwgudHH6d578vftcmTAmEt2U-_SrNoYWN8SGf13E5VV6CHqmN4h8VqMSm-O-UEPmXmmwTlrnKq5-GPUtHoU9_T2yKZ&udm=8&sa=X&ved=2ahUKEwijzLz93vKLAxVCQzABHdDKBU0QkbEKegQIFRAD"
						},
						{
							"name": "Contract",
							"parameters": {
								"uds": "ABqPDvztZD_Nu18FR6tNPw2cK_RRgBxLABOMWkxtU3zka_rU_koP3gsEm5Hlm7ymlZKtvj0CP4Qu4MZl5cuNDx0S0OSvxPQzulNnwe8Tqz8_Ov0y435vnYFeHemwnp1dnnV71aJbYjBmtpy1v8iDVRRvCTdw7qhShYxZ_mlBWn67gOCvHNsksTodmiAovrtui1Zh5MePLJlu0XXaWgvKXiG30Dq8miDE2cLWiBOv1YvVyWY64ac4zjXQMl0s6P7rbp_-YfCk-nqcQm271M8tKWX2djI8ra3gqj4JLKqabgZtF41TdwaA4N4",
								"q": "accountant contract"
							},
							"link": "https://www.google.com/search?sca_esv=e6eef6b59335224c&q=accountant+contract&uds=ABqPDvztZD_Nu18FR6tNPw2cK_RRgBxLABOMWkxtU3zka_rU_koP3gsEm5Hlm7ymlZKtvj0CP4Qu4MZl5cuNDx0S0OSvxPQzulNnwe8Tqz8_Ov0y435vnYFeHemwnp1dnnV71aJbYjBmtpy1v8iDVRRvCTdw7qhShYxZ_mlBWn67gOCvHNsksTodmiAovrtui1Zh5MePLJlu0XXaWgvKXiG30Dq8miDE2cLWiBOv1YvVyWY64ac4zjXQMl0s6P7rbp_-YfCk-nqcQm271M8tKWX2djI8ra3gqj4JLKqabgZtF41TdwaA4N4&udm=8&sa=X&ved=2ahUKEwijzLz93vKLAxVCQzABHdDKBU0QkbEKegQIFRAE"
						},
						{
							"name": "Internship",
							"parameters": {
								"uds": "ABqPDvztZD_Nu18FR6tNPw2cK_RRM-Tr8pgnyV3NlBzN9xlNDhVfNEr6ie3pA2b9yKbqXK8yHJLOmvYzBjoWJZjsq4wicLOwF9850eKH616ENr_Jgd8XyApu-P9WweZBpgq46gn-d7uh8DXKIbTcroNCAgaUpgln1ruu43bLW9syQqj9rMmtWxnLQ16rHt5D61rfYRws-P0YCAwIQ24isN6f5cGx4VasmXvArNc6j6mzq9ELPocHQTHmovWyiNe-Aa_eBBZTWEv5SwALcq9iG7lG-DIT7OpzBYlV8Shjgw6vOCB97HV2rlk",
								"q": "accountant internship"
							},
							"link": "https://www.google.com/search?sca_esv=e6eef6b59335224c&q=accountant+internship&uds=ABqPDvztZD_Nu18FR6tNPw2cK_RRM-Tr8pgnyV3NlBzN9xlNDhVfNEr6ie3pA2b9yKbqXK8yHJLOmvYzBjoWJZjsq4wicLOwF9850eKH616ENr_Jgd8XyApu-P9WweZBpgq46gn-d7uh8DXKIbTcroNCAgaUpgln1ruu43bLW9syQqj9rMmtWxnLQ16rHt5D61rfYRws-P0YCAwIQ24isN6f5cGx4VasmXvArNc6j6mzq9ELPocHQTHmovWyiNe-Aa_eBBZTWEv5SwALcq9iG7lG-DIT7OpzBYlV8Shjgw6vOCB97HV2rlk&udm=8&sa=X&ved=2ahUKEwijzLz93vKLAxVCQzABHdDKBU0QkbEKegQIFRAF"
						}
					]
				},
				{
					"name": "No degree",
					"parameters": {
						"uds": "ABqPDvztZD_Nu18FR6tNPw2cK_RRanzqBpQC199GujVMVX38r5zy4e1sW4NfNYITib1Ow5_YDtinPTTMnKG-BPz1D7p39hQqpzHY1mJlbvYq_fYROANShxXp1N5RbVFXKhMGQCe3_w9IsLkuRHXHfQfMieaRYrbxCA",
						"q": "accountant no degree"
					},
					"link": "https://www.google.com/search?sca_esv=e6eef6b59335224c&q=accountant+no+degree&uds=ABqPDvztZD_Nu18FR6tNPw2cK_RRanzqBpQC199GujVMVX38r5zy4e1sW4NfNYITib1Ow5_YDtinPTTMnKG-BPz1D7p39hQqpzHY1mJlbvYq_fYROANShxXp1N5RbVFXKhMGQCe3_w9IsLkuRHXHfQfMieaRYrbxCA&udm=8&sa=X&ved=2ahUKEwijzLz93vKLAxVCQzABHdDKBU0QxKsJegQICRAB&ictx=0"
				},
				{
					"name": "Job description",
					"parameters": {
						"uds": "ABqPDvztZD_Nu18FR6tNPw2cK_RRBW3vcflRmn84HWC4WBFgdgWROkTH6aKiYeT-Mz6xpPn3sbMBjyZIj0amV0awiS54PuXSGVE3SIWUCAu78t5DwE4WYRAnMB6cf8NIo16rOI4jFl4tOTfdvMQTgtr43NUZGAdA8IbpxCoaw35xWyVbyo64K6c",
						"q": "Accountant job description"
					},
					"link": "https://www.google.com/search?sca_esv=e6eef6b59335224c&q=Accountant+job+description&uds=ABqPDvztZD_Nu18FR6tNPw2cK_RRBW3vcflRmn84HWC4WBFgdgWROkTH6aKiYeT-Mz6xpPn3sbMBjyZIj0amV0awiS54PuXSGVE3SIWUCAu78t5DwE4WYRAnMB6cf8NIo16rOI4jFl4tOTfdvMQTgtr43NUZGAdA8IbpxCoaw35xWyVbyo64K6c&udm=8&sa=X&ved=2ahUKEwijzLz93vKLAxVCQzABHdDKBU0QxKsJegQIJBAB&ictx=0"
				},
				{
					"name": "Certification",
					"parameters": {
						"uds": "ABqPDvztZD_Nu18FR6tNPw2cK_RR9uegVYgQNm0A_FIwPHdCgnbN8V7xfed0ue3U4tmUQQX0LdcIG7xz4cXQABHMDTACTwaEJrJRMXYJ9zhXz8ItH6couMYiFLIiLsdP9Zprzz_xeJy3prZpZDmpujcnrlUIKjd-L-3x0sjzp6aPnezuEMc2_5U",
						"q": "Accountant certification"
					},
					"link": "https://www.google.com/search?sca_esv=e6eef6b59335224c&q=Accountant+certification&uds=ABqPDvztZD_Nu18FR6tNPw2cK_RR9uegVYgQNm0A_FIwPHdCgnbN8V7xfed0ue3U4tmUQQX0LdcIG7xz4cXQABHMDTACTwaEJrJRMXYJ9zhXz8ItH6couMYiFLIiLsdP9Zprzz_xeJy3prZpZDmpujcnrlUIKjd-L-3x0sjzp6aPnezuEMc2_5U&udm=8&sa=X&ved=2ahUKEwijzLz93vKLAxVCQzABHdDKBU0QxKsJegQIIxAB&ictx=0"
				},
				{
					"name": "Degree",
					"parameters": {
						"uds": "ABqPDvztZD_Nu18FR6tNPw2cK_RRIyGl5d5y6jE2qW0EkA1m10DEJi5pjYe6kW-OyeDbcPzdOfb-nVrZ9Dlr6hPgvSAwht00fWrKGhAEuo_KMpEXHEvWooms8Lguxc9P6rJT87QySJ0tOIpunILhj9MPXtr5SYm_TaHttgxLBBtfHOaLQbU5iiY",
						"q": "Accountant degree"
					},
					"link": "https://www.google.com/search?sca_esv=e6eef6b59335224c&q=Accountant+degree&uds=ABqPDvztZD_Nu18FR6tNPw2cK_RRIyGl5d5y6jE2qW0EkA1m10DEJi5pjYe6kW-OyeDbcPzdOfb-nVrZ9Dlr6hPgvSAwht00fWrKGhAEuo_KMpEXHEvWooms8Lguxc9P6rJT87QySJ0tOIpunILhj9MPXtr5SYm_TaHttgxLBBtfHOaLQbU5iiY&udm=8&sa=X&ved=2ahUKEwijzLz93vKLAxVCQzABHdDKBU0QxKsJegQIIhAB&ictx=0"
				}
			]
		},
        "pageNumber": 1
	]
}
```

When using a tabular format such as `csv` or `xls`, you'll get a table where each row contains just one google jobs result. For more details about exporting and formatting the dataset records, please see the documentation for the [Get dataset items](https://apify.com/docs/api/v2#/reference/datasets/item-collection/get-items) API endpoint.

### Personal data

You should be aware that search results can contain personal data. Personal data is protected by GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers. You can also read our blog post on the [legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

### Changelog

- March 23, 2025: Add query, pageNumber to results

v1.0 - We implement new Google Jobs Scraper from scratch. It is well-tested and optimized for performance.

- New scraper with latest available fields
- New pricing models

v0.2- Add more information

- Scrape job highlights, apply link...

v0.1- Launch

- Google Jobs Scraper is well-tested. We guarantee fixing all bugs within 2 days of business.

# Actor input Schema

## `queries` (type: `string`):

Google Jobs Search queries (e.g. <code>Teacher</code>)<br><br>Enter one item per line.

## `maxPagesPerQuery` (type: `integer`):

The maximum number of search result pages crawled for each search query or URL.

## `csvFriendlyOutput` (type: `boolean`):

If checked, the crawler will return results in a structure suitable for CSV format. Only organic results are included.

## `locationUule` (type: `string`):

The code for geolocation of search results. It's passed to Google Search as the <code>uule</code> URL query parameter. You can use the <a href='https://padavvan.github.io/' target='_blank'>UULE code generator</a>. Learn more about <a href='https://moz.com/ugc/geolocation-the-ultimate-tip-to-emulate-local-search' target='_blank'>emulating local search</a>. <br><br> <b>Notice</b>: This parameter is the ONLY way to get Google Jobs results from a specific location.

## `countryCode` (type: `string`):

This param is for the Country (e.g. <code>es</code> for Spain). The values must be lower-cased <a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2" target="_blank">ISO 3166</a> country codes supported by Google. By default, the actor uses United States (<code>us</code>).<br><br><b>Notice</b>: To get Google Jobs results from a location, please use UULE code. If you choose <code>countryCode</code> as <code>es</code> without setting <code>locationUule</code>, you will get the results from United States(default search location). To get results from Spain, you need to set <code>locationUule</code> to <code>w+CAIQICIFU3BhaW4=</code>

## `languageCode` (type: `string`):

Language for the search results, which is passed to Google Search as the <code>hl</code> URL query parameter. Only set this if you want to use a non-default language for the selected country. The values must be lower-cased <a href="https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes" target="_blank">ISO 639</a> language codes supported by Google.<br><br>This setting only applies to <strong>Search queries</strong>, but not to <strong>URLs</strong>.

## `googleDomain` (type: `string`):

This param is for the Google Search Domain (e.g. <code>google.es</code> for Spain). By default, the actor uses United States (<code>google.com</code>).<br><br><b>Notice</b>: To get Google Jobs results from a location, please use UULE code. If you choose <code>googleDomain</code> as <code>google.es</code> without setting <code>locationUule</code>, you will get the results from United States(default search location). To get results from Spain, you need to set <code>locationUule</code> to <code>w+CAIQICIFU3BhaW4=</code>

## `radius` (type: `integer`):

Allow you to search jobs within the radius - in kilometers.

## `remoteOnly` (type: `boolean`):

If checked, the crawler will search for work from home jobs.

## `filterParam` (type: `string`):

Jobs results can be filtered by this filter param. The filter param can built from <code>categories.param:categories.options.value</code>. Eg: <code>date_posted:today</code>,<code>employment_type:FULLTIME</code>. List of filter params can be found from results fof each search results.

## `saveHtml` (type: `boolean`):

If checked, the HTML of Google Search results pages will be stored to the default dataset, under the <code>html</code> property. This is useful if you need to process the HTML, but it makes the dataset large and reduces performance.

## Actor input object example

```json
{
  "queries": "Teacher\nAccountant\nSoftware Engineer",
  "maxPagesPerQuery": 1,
  "csvFriendlyOutput": false,
  "countryCode": "",
  "languageCode": "",
  "googleDomain": "",
  "saveHtml": false
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "queries": `Teacher
Accountant
Software Engineer`,
    "maxPagesPerQuery": 1,
    "countryCode": "",
    "googleDomain": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("dan.scraper/google-jobs-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "queries": """Teacher
Accountant
Software Engineer""",
    "maxPagesPerQuery": 1,
    "countryCode": "",
    "googleDomain": "",
}

# Run the Actor and wait for it to finish
run = client.actor("dan.scraper/google-jobs-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "queries": "Teacher\\nAccountant\\nSoftware Engineer",
  "maxPagesPerQuery": 1,
  "countryCode": "",
  "googleDomain": ""
}' |
apify call dan.scraper/google-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,dan.scraper/google-jobs-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/SpK8RxKhIgV6BWOz9/builds/bFSgXaYsatOUhwckh/openapi.json
