Skip to main content
Glama

HirePulse: Jobs, Ads, SEO, YouTube & AliExpress Data Tools

hirepulse/google-jobs-scraper

hirepulse--google-jobs-scraper
Destructive

This tool calls the Actor "hirepulse/google-jobs-scraper" and retrieves its output results. Actor description: Google Jobs alternative for job research: search public job feeds by keyword or fetch company ATS jobs by domain. Export titles, employers, locations and apply links as JSON. Use with n8n, Make or Apify MCP. Default results come from public feeds, not Google Jobs SERPs.

Input Schema

NameRequiredDescriptionDefault
countryNoTwo-letter ISO country code, for example US, GB or DE. Public results must explicitly match this country or be confirmed remote roles available worldwide. Unknown geography is omitted; coverage is incomplete. Example values: "US"US
queriesYes**REQUIRED** Required. Job searches as you would type them into Google, one per item, up to 50 per run. Example: ["data engineer", "nurse night shift"]. To get every job of one company, hirepulse/ats-job-pulse is the better fit. Example values: ["software engineer remote"]
languageNoTwo-letter language code. Leave empty for the country's main language. Example: "es" with country "US". Countries with more than one language: US: en/es; CA: en/fr; IN: en/hi; DZ: fr/ar; BE: fr/nl/de; CY: el/en; EG: ar/en; GR: el/en; HK: en/zh-TW; ID: en/id; IL: he/ar; MY: en/ms; MA: ar/fr; PK: en/ur; PH: en/tl; SG: en/zh-CN; CH: de/fr/it; UA: uk/ru; AE: ar/en; VN: en/vi.
locationNoOptional city or region inside the country, such as Austin,Texas. Public results must mention the requested city or region; worldwide remote roles alone do not satisfy a city filter. Leave empty to search the country.
waitSecsNoMax seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget.
radius_kmNoDistance filtering, 1 to 300 km around location, requires an explicitly enabled paid source. Rejected on the default public-feed path; never silently ignored.
employment_typesNoOptional fulltime, partime, contractor or intern filters. Requires an explicitly enabled paid source. Rejected on the default public-feed path; never silently ignored. The provider spelling for part-time is partime.
use_paid_upstreamNoOff by default. Supported paid sources also require the owner-controlled HIREPULSE_ALLOW_PAID_UPSTREAM=1 environment setting. Keep false for all quality and smoke checks.
max_jobs_per_queryNoJobs to return per search, 1 to 200. Each returned job is one charged result. Example: 100. Default: 5. Example values: 5
include_descriptionsNoAdd the full description text for jobs whose apply link is on a Workday, Greenhouse, Lever or Ashby job board; other jobs keep only apply_url. No extra charge; turn off for faster runs. Default: false.

Output Schema

NameRequiredDescriptionDefault
tipNoAdvisory guidance RAG Web Browser wrote to its key-value store under the reserved "TIP" key
runIdYesActor run ID
statsNoRun statistics
statusYesRun status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED
actorIdYesStable Apify Actor ID from the run record
summaryYesPast-tense summary of the run state
exitCodeNoActor process exit code; populated for terminal states (especially FAILED)
nextStepYesOne primary follow-up action with identifiers interpolated
storagesYesDataset and key-value store metadata, keyed by alias. "default" is always the primary entry.
actorNameNo"username/actor-name"
startedAtNoISO timestamp when the run started
finishedAtNoISO timestamp when the run finished (terminal states only)
statusMessageNoPass-through from Apify run.statusMessage
apifyConsoleUrlNoPersonalized Apify Console link to the run; present only for Console sessions

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedInput schema / description
      Previous value: -"Search job listings by keyword or company domain and return structured records for recruiting and job-market research. This Actor provides a Google Jobs alternative using public ATS boards and job feeds by default. Public-feed coverage differs from Google Jobs search results. Country and city filters are source-dependent; some sources rank matches rather than enforcing an exact geographic filter. Missing company, salary or date fields remain unavailable. Direct Google Jobs SERP access requires a separately configured paid source and is disabled by default."New value: +"Search public ATS boards and job feeds. Country and city constraints require source location evidence; remote/hybrid/onsite keywords require work-mode evidence. Worldwide remote roles can satisfy a country but not a city. Unknown geography is omitted. Employment-type and radius filters require an explicitly enabled paid source. Public-feed coverage is not Google Jobs SERP coverage."
    • changedInput schema / properties / country / description
      Previous value: -"Country as a two-letter ISO code (e.g. US, GB, DE, AE). 94 countries are supported; the 20 most used are listed first. Default: \"US\".\nExample values: \"US\""New value: +"Two-letter ISO country code, for example US, GB or DE. Public results must explicitly match this country or be confirmed remote roles available worldwide. Unknown geography is omitted; coverage is incomplete.\nExample values: \"US\""
    • changedInput schema / properties / employment_types / description
      Previous value: -"Only these contract types: \"fulltime\", \"partime\", \"contractor\" or \"intern\". Example: [\"fulltime\"]. Leave empty for all. For part-time jobs use the literal \"partime\". This spelling is required by the Actor code; \"parttime\" is not accepted."New value: +"Optional fulltime, partime, contractor or intern filters. Requires an explicitly enabled paid source. Rejected on the default public-feed path; never silently ignored. The provider spelling for part-time is partime."
    • changedInput schema / properties / location / description
      Previous value: -"A city or region inside the country, written as \"City,Region\". Example: \"Austin,Texas\" or \"London,England\". Leave empty to search the whole country."New value: +"Optional city or region inside the country, such as Austin,Texas. Public results must mention the requested city or region; worldwide remote roles alone do not satisfy a city filter. Leave empty to search the country."
    • changedInput schema / properties / radius_km / description
      Previous value: -"With a location only: search up to this many kilometers around it, 1 to 300. Example: 40. Leave empty for the city's default area."New value: +"Distance filtering, 1 to 300 km around location, requires an explicitly enabled paid source. Rejected on the default public-feed path; never silently ignored."
  2. Changed1 schema field changed
    • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Added value: +{
      +  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      +  "properties": {
      +    "apply_url": {
      +      "type": "string"
      +    },
      +    "company": {
      +      "type": "string"
      +    },
      +    "company_logo_url": {
      +      "type": "null"
      +    },
      +    "company_url": {
      +      "type": "null"
      +    },
      +    "contract_type": {
      +      "type": "null"
      +    },
      +    "country": {
      +      "type": "string"
      +    },
      +    "google_job_id": {
      +      "type": "string"
      +    },
      +    "location": {
      +      "type": "string"
      +    },
      +    "note": {
      +      "type": "string"
      +    },
      +    "position": {
      +      "type": "null"
      +    },
      +    "posted_ago": {
      +      "type": "null"
      +    },
      +    "posted_at": {
      +      "type": "string"
      +    },
      +    "query": {
      +      "type": "string"
      +    },
      +    "salary": {
      +      "type": "null"
      +    },
      +    "salary_currency": {
      +      "type": "null"
      +    },
      +    "salary_max": {
      +      "type": "null"
      +    },
      +    "salary_min": {
      +      "type": "null"
      +    },
      +    "salary_period": {
      +      "type": "null"
      +    },
      +    "scraped_at": {
      +      "type": "string"
      +    },
      +    "source": {
      +      "type": "string"
      +    },
      +    "title": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  3. Changed1 schema field changed
    • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Removed value: -{
      -  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      -  "properties": {
      -    "apply_url": {
      -      "type": "string"
      -    },
      -    "company": {
      -      "type": "string"
      -    },
      -    "company_logo_url": {
      -      "type": "null"
      -    },
      -    "company_url": {
      -      "type": "null"
      -    },
      -    "contract_type": {
      -      "type": "null"
      -    },
      -    "country": {
      -      "type": "string"
      -    },
      -    "google_job_id": {
      -      "type": "string"
      -    },
      -    "location": {
      -      "type": "string"
      -    },
      -    "note": {
      -      "type": "string"
      -    },
      -    "position": {
      -      "type": "null"
      -    },
      -    "posted_ago": {
      -      "type": "null"
      -    },
      -    "posted_at": {
      -      "type": "string"
      -    },
      -    "query": {
      -      "type": "string"
      -    },
      -    "salary": {
      -      "type": "null"
      -    },
      -    "salary_currency": {
      -      "type": "null"
      -    },
      -    "salary_max": {
      -      "type": "null"
      -    },
      -    "salary_min": {
      -      "type": "null"
      -    },
      -    "salary_period": {
      -      "type": "null"
      -    },
      -    "scraped_at": {
      -      "type": "string"
      -    },
      -    "source": {
      -      "type": "string"
      -    },
      -    "title": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    }
      -  },
      -  "type": "object"
      -}
  4. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  5. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  6. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  7. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  8. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  9. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  10. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  11. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  12. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  13. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  14. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  15. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  16. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  17. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  18. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  19. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  20. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  21. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  22. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  23. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  24. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  25. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  26. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  27. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  28. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  29. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  30. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  31. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  32. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  33. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  34. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  35. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  36. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  37. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  38. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  39. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  40. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  41. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -"string"New value: +[
      +  "null",
      +  "string"
      +]
  42. Changed1 schema field changed
    • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Added value: +{
      +  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      +  "properties": {
      +    "apply_url": {
      +      "type": "string"
      +    },
      +    "company": {
      +      "type": "string"
      +    },
      +    "company_logo_url": {
      +      "type": "null"
      +    },
      +    "company_url": {
      +      "type": "null"
      +    },
      +    "contract_type": {
      +      "type": "null"
      +    },
      +    "country": {
      +      "type": "string"
      +    },
      +    "google_job_id": {
      +      "type": "string"
      +    },
      +    "location": {
      +      "type": "string"
      +    },
      +    "note": {
      +      "type": "string"
      +    },
      +    "position": {
      +      "type": "null"
      +    },
      +    "posted_ago": {
      +      "type": "null"
      +    },
      +    "posted_at": {
      +      "type": "string"
      +    },
      +    "query": {
      +      "type": "string"
      +    },
      +    "salary": {
      +      "type": "null"
      +    },
      +    "salary_currency": {
      +      "type": "null"
      +    },
      +    "salary_max": {
      +      "type": "null"
      +    },
      +    "salary_min": {
      +      "type": "null"
      +    },
      +    "salary_period": {
      +      "type": "null"
      +    },
      +    "scraped_at": {
      +      "type": "string"
      +    },
      +    "source": {
      +      "type": "string"
      +    },
      +    "title": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  43. Changed3 schema fields changed
    • changedInput schema / description
      Previous value: -"Search Google's job listings (Google Jobs) for any job title or keyword, in any supported country or city. Returns title, company, location, salary, contract type, posting date and the link to apply."New value: +"Search job listings by keyword or company domain and return structured records for recruiting and job-market research. This Actor provides a Google Jobs alternative using public ATS boards and job feeds by default. Public-feed coverage differs from Google Jobs search results. Country and city filters are source-dependent; some sources rank matches rather than enforcing an exact geographic filter. Missing company, salary or date fields remain unavailable. Direct Google Jobs SERP access requires a separately configured paid source and is disabled by default."
    • changedInput schema / title
      Previous value: -"Google Jobs Scraper input"New value: +"Google Jobs Alternative: ATS & Public Job Listings input"
    • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Removed value: -{
      -  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      -  "properties": {
      -    "apply_url": {
      -      "type": "string"
      -    },
      -    "company": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "company_logo_url": {
      -      "type": "null"
      -    },
      -    "company_url": {
      -      "type": "null"
      -    },
      -    "contract_type": {
      -      "type": [
      -        "null",
      -        "string"
      -      ]
      -    },
      -    "country": {
      -      "type": "string"
      -    },
      -    "google_job_id": {
      -      "type": "string"
      -    },
      -    "location": {
      -      "type": "string"
      -    },
      -    "position": {
      -      "type": "null"
      -    },
      -    "posted_ago": {
      -      "type": "null"
      -    },
      -    "posted_at": {
      -      "type": "string"
      -    },
      -    "query": {
      -      "type": "string"
      -    },
      -    "salary": {
      -      "type": "null"
      -    },
      -    "salary_currency": {
      -      "type": "null"
      -    },
      -    "salary_max": {
      -      "type": "null"
      -    },
      -    "salary_min": {
      -      "type": "null"
      -    },
      -    "salary_period": {
      -      "type": "null"
      -    },
      -    "scraped_at": {
      -      "type": "string"
      -    },
      -    "source": {
      -      "type": "string"
      -    },
      -    "title": {
      -      "type": "string"
      -    }
      -  },
      -  "type": "object"
      -}
  44. Changed2 schema fields changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / company / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / contract_type / type
      Previous value: -"null"New value: +[
      +  "null",
      +  "string"
      +]
  45. Changed1 schema field changed
    • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Added value: +{
      +  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      +  "properties": {
      +    "apply_url": {
      +      "type": "string"
      +    },
      +    "company": {
      +      "type": "string"
      +    },
      +    "company_logo_url": {
      +      "type": "null"
      +    },
      +    "company_url": {
      +      "type": "null"
      +    },
      +    "contract_type": {
      +      "type": "null"
      +    },
      +    "country": {
      +      "type": "string"
      +    },
      +    "google_job_id": {
      +      "type": "string"
      +    },
      +    "location": {
      +      "type": "string"
      +    },
      +    "position": {
      +      "type": "null"
      +    },
      +    "posted_ago": {
      +      "type": "null"
      +    },
      +    "posted_at": {
      +      "type": "string"
      +    },
      +    "query": {
      +      "type": "string"
      +    },
      +    "salary": {
      +      "type": "null"
      +    },
      +    "salary_currency": {
      +      "type": "null"
      +    },
      +    "salary_max": {
      +      "type": "null"
      +    },
      +    "salary_min": {
      +      "type": "null"
      +    },
      +    "salary_period": {
      +      "type": "null"
      +    },
      +    "scraped_at": {
      +      "type": "string"
      +    },
      +    "source": {
      +      "type": "string"
      +    },
      +    "title": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  46. Changed9 schema fields changed
    • changedInput schema / properties / include_descriptions / description
      Previous value: -"Add the full description text for jobs whose apply link is on a Workday, Greenhouse, Lever or Ashby job board; other jobs keep only apply_url. No extra charge; turn off for faster runs. Default: true."New value: +"Add the full description text for jobs whose apply link is on a Workday, Greenhouse, Lever or Ashby job board; other jobs keep only apply_url. No extra charge; turn off for faster runs. Default: false."
    • changedInput schema / properties / max_jobs_per_query / description
      Previous value: -"Jobs to return per search, 1 to 200. Each returned job is one charged result. Example: 100. Default: 50.\nExample values: 5"New value: +"Jobs to return per search, 1 to 200. Each returned job is one charged result. Example: 100. Default: 5.\nExample values: 5"
    • removedInput schema / properties / queries / default
      Removed value: -[
      -  "linear.app"
      -]
    • changedInput schema / properties / queries / description
      Previous value: -"Required. Job searches as you would type them into Google, one per item, up to 50 per run. Example: [\"data engineer\", \"nurse night shift\"]. To get every job of one company, hirepulse/ats-job-pulse is the better fit.\nExample values: [\"linear.app\"]"New value: +"**REQUIRED** Required. Job searches as you would type them into Google, one per item, up to 50 per run. Example: [\"data engineer\", \"nurse night shift\"]. To get every job of one company, hirepulse/ats-job-pulse is the better fit.\nExample values: [\"software engineer remote\"]"
    • changedInput schema / properties / queries / examples
      Previous value: -[
      -  "linear.app"
      -]New value: +[
      +  "software engineer remote"
      +]
    • changedInput schema / properties / queries / items / description
      Previous value: -"Required. Job searches as you would type them into Google, one per item, up to 50 per run. Example: [\"data engineer\", \"nurse night shift\"]. To get every job of one company, hirepulse/ats-job-pulse is the better fit."New value: +"**REQUIRED** Required. Job searches as you would type them into Google, one per item, up to 50 per run. Example: [\"data engineer\", \"nurse night shift\"]. To get every job of one company, hirepulse/ats-job-pulse is the better fit."
    • changedInput schema / properties / queries / prefill
      Previous value: -[
      -  "linear.app"
      -]New value: +[
      +  "software engineer remote"
      +]
    • changedInput schema / required
      Previous value: -[]New value: +[
      +  "queries"
      +]
    • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Removed value: -{
      -  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      -  "properties": {
      -    "apply_url": {
      -      "type": "string"
      -    },
      -    "company": {
      -      "type": [
      -        "null",
      -        "string"
      -      ]
      -    },
      -    "company_logo_url": {
      -      "type": "null"
      -    },
      -    "company_url": {
      -      "type": "null"
      -    },
      -    "contract_type": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "country": {
      -      "type": "string"
      -    },
      -    "google_job_id": {
      -      "type": "string"
      -    },
      -    "location": {
      -      "type": "string"
      -    },
      -    "note": {
      -      "type": "string"
      -    },
      -    "position": {
      -      "type": "null"
      -    },
      -    "posted_ago": {
      -      "type": "null"
      -    },
      -    "posted_at": {
      -      "type": "string"
      -    },
      -    "query": {
      -      "type": "string"
      -    },
      -    "salary": {
      -      "type": "null"
      -    },
      -    "salary_currency": {
      -      "type": "null"
      -    },
      -    "salary_max": {
      -      "type": "null"
      -    },
      -    "salary_min": {
      -      "type": "null"
      -    },
      -    "salary_period": {
      -      "type": "null"
      -    },
      -    "scraped_at": {
      -      "type": "string"
      -    },
      -    "source": {
      -      "type": "string"
      -    },
      -    "title": {
      -      "type": [
      -        "null",
      -        "string"
      -      ]
      -    }
      -  },
      -  "type": "object"
      -}
  47. Changed3 schema fields changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / company / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / contract_type / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  48. Changed1 schema field changed
    • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Added value: +{
      +  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      +  "properties": {
      +    "apply_url": {
      +      "type": "string"
      +    },
      +    "company": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "company_logo_url": {
      +      "type": "null"
      +    },
      +    "company_url": {
      +      "type": "null"
      +    },
      +    "contract_type": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "country": {
      +      "type": "string"
      +    },
      +    "google_job_id": {
      +      "type": "string"
      +    },
      +    "location": {
      +      "type": "string"
      +    },
      +    "note": {
      +      "type": "string"
      +    },
      +    "position": {
      +      "type": "null"
      +    },
      +    "posted_ago": {
      +      "type": "null"
      +    },
      +    "posted_at": {
      +      "type": "string"
      +    },
      +    "query": {
      +      "type": "string"
      +    },
      +    "salary": {
      +      "type": "null"
      +    },
      +    "salary_currency": {
      +      "type": "null"
      +    },
      +    "salary_max": {
      +      "type": "null"
      +    },
      +    "salary_min": {
      +      "type": "null"
      +    },
      +    "salary_period": {
      +      "type": "null"
      +    },
      +    "scraped_at": {
      +      "type": "string"
      +    },
      +    "source": {
      +      "type": "string"
      +    },
      +    "title": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  49. Changed15 schema fields changed
    • changedInput schema / properties / include_descriptions / default
      Previous value: -trueNew value: +false
    • changedInput schema / properties / include_descriptions / description
      Previous value: -"Add the full description text for jobs whose apply link is on a Workday, Greenhouse, Lever or Ashby job board; other jobs keep only apply_url. No extra charge; turn off for faster runs. Default: true.\nExample values: true"New value: +"Add the full description text for jobs whose apply link is on a Workday, Greenhouse, Lever or Ashby job board; other jobs keep only apply_url. No extra charge; turn off for faster runs. Default: true."
    • removedInput schema / properties / include_descriptions / examples
      Removed value: -[
      -  true
      -]
    • addedInput schema / properties / include_descriptions / prefill
      Added value: +false
    • changedInput schema / properties / max_jobs_per_query / default
      Previous value: -50New value: +5
    • changedInput schema / properties / max_jobs_per_query / description
      Previous value: -"Jobs to return per search, 1 to 200. Each returned job is one charged result. Example: 100. Default: 50.\nExample values: 50"New value: +"Jobs to return per search, 1 to 200. Each returned job is one charged result. Example: 100. Default: 50.\nExample values: 5"
    • changedInput schema / properties / max_jobs_per_query / examples
      Previous value: -[
      -  50
      -]New value: +[
      +  5
      +]
    • addedInput schema / properties / max_jobs_per_query / prefill
      Added value: +5
    • addedInput schema / properties / queries / default
      Added value: +[
      +  "linear.app"
      +]
    • changedInput schema / properties / queries / description
      Previous value: -"**REQUIRED** Required. Job searches as you would type them into Google, one per item, up to 50 per run. Example: [\"data engineer\", \"nurse night shift\"]. To get every job of one company, hirepulse/ats-job-pulse is the better fit.\nExample values: [\"data engineer\"]"New value: +"Required. Job searches as you would type them into Google, one per item, up to 50 per run. Example: [\"data engineer\", \"nurse night shift\"]. To get every job of one company, hirepulse/ats-job-pulse is the better fit.\nExample values: [\"linear.app\"]"
    • changedInput schema / properties / queries / examples
      Previous value: -[
      -  "data engineer"
      -]New value: +[
      +  "linear.app"
      +]
    • changedInput schema / properties / queries / items / description
      Previous value: -"**REQUIRED** Required. Job searches as you would type them into Google, one per item, up to 50 per run. Example: [\"data engineer\", \"nurse night shift\"]. To get every job of one company, hirepulse/ats-job-pulse is the better fit."New value: +"Required. Job searches as you would type them into Google, one per item, up to 50 per run. Example: [\"data engineer\", \"nurse night shift\"]. To get every job of one company, hirepulse/ats-job-pulse is the better fit."
    • changedInput schema / properties / queries / prefill
      Previous value: -[
      -  "data engineer"
      -]New value: +[
      +  "linear.app"
      +]
    • addedInput schema / properties / use_paid_upstream
      Added value: +{
      +  "default": false,
      +  "description": "Off by default. Supported paid sources also require the owner-controlled HIREPULSE_ALLOW_PAID_UPSTREAM=1 environment setting. Keep false for all quality and smoke checks.",
      +  "prefill": false,
      +  "title": "Allow external paid upstream (owner opt-in)",
      +  "type": "boolean"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "queries"
      -]New value: +[]
  50. Changed1 schema field changed
    • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Removed value: -{
      -  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      -  "properties": {
      -    "country": {
      -      "type": "string"
      -    },
      -    "note": {
      -      "type": "string"
      -    },
      -    "query": {
      -      "type": "string"
      -    },
      -    "title": {
      -      "type": "null"
      -    }
      -  },
      -  "type": "object"
      -}
  51. Changed1 schema field changed
    • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Added value: +{
      +  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      +  "properties": {
      +    "country": {
      +      "type": "string"
      +    },
      +    "note": {
      +      "type": "string"
      +    },
      +    "query": {
      +      "type": "string"
      +    },
      +    "title": {
      +      "type": "null"
      +    }
      +  },
      +  "type": "object"
      +}
  52. Changed1 schema field changed
    • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Removed value: -{
      -  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      -  "properties": {
      -    "country": {
      -      "type": "string"
      -    },
      -    "note": {
      -      "type": "string"
      -    },
      -    "query": {
      -      "type": "string"
      -    },
      -    "title": {
      -      "type": "null"
      -    }
      -  },
      -  "type": "object"
      -}
  53. First observed

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, destructiveHint=true and openWorldHint=true, but the description never addresses mutation/state impact, cost, or credential requirements. It does add genuine non-schema context: results come from public feeds rather than Google SERPs, and paid upstream sources are off by default. Per-result charging and wait/poll behavior are disclosed only in the schema, so the added value is moderate rather than strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, reasonably front-loaded, with the SERP-vs-public-feed caveat placed early where it matters most. The integration sentence ('Use with n8n, Make or Apify MCP') is filler that does not help an agent decide or invoke, keeping it out of the top band.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and all 10 parameters are fully described in the schema. The description supplies the crucial coverage caveat (public feeds, not Google Jobs SERPs) that an agent needs to avoid overpromising results. What is missing is cost/charging disclosure and explicit routing to alternatives, which are relevant given destructiveHint=true and a large sibling set.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% across all 10 parameters, including detailed enum, language-per-country, and paid-source caveats, so the schema carries the burden. The description adds essentially no parameter-level detail beyond restating that output is JSON. Baseline 3 applies when the schema already documents everything.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete resource and mode of operation: search public job feeds by keyword or fetch company ATS jobs by domain, returning titles, employers, locations and apply links. That is specific enough to distinguish it from generic scrapers in the sibling list. The opening wrapper sentence ('calls the Actor ... and retrieves its output results') is boilerplate, and the claim of 'fetch company ATS jobs by domain' is partly walked back by the schema note pointing to ats-job-pulse for per-company coverage.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies research use and warns that default results come from public feeds rather than Google Jobs SERPs, which is a useful scoping cue. But it gives no explicit when-to-use/when-not guidance and never names an alternative tool; the only routing advice ('ats-job-pulse is the better fit') lives in the queries parameter schema, not the description. 'Use with n8n, Make or Apify MCP' is integration marketing, not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.