Skip to main content
Glama

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

Server Details

Jobs, ads, SEO, keywords, YouTube and AliExpress data for AI agents. Runs on Apify.

Ownership verified
Status
Healthy
Uptime
86.3% over 23 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
edtool79-collab/hirepulse-tools
GitHub Stars
0
ChatGPT
–
Claude
–

TDQS

B3.4/5.0

Scored across 12 tools

Disambiguation3/5

The Actor tools are mostly distinct (AliExpress, YouTube transcripts, SEO audit, ads transparency, keyword volume), but ats-job-pulse and google-jobs-scraper both return job postings and could easily be confused. company-intent-radar also overlaps with ats-job-pulse and google-ads-transparency-scraper since it aggregates their signals. Descriptions help differentiate them, but boundaries are blurry.

Naming Consistency3/5

Two conventions are mixed: the generic Apify infrastructure tools use verb_noun kebab-case (abort-actor-run, get-dataset-items), while the scraper tools use a namespaced double-hyphen resource pattern (hirepulse--aliexpress-search-scraper). The namespacing is readable and arguably intentional, but the set as a whole does not follow one predictable pattern.

Tool Count4/5

12 tools is a reasonable, well-scoped count: 8 domain scrapers plus 4 supporting infrastructure tools for run/dataset/record access. Nothing feels redundant enough to be excessive, and the set is not thin.

Completeness4/5

The scraper surface covers the advertised domains (jobs, ads, SEO, YouTube, AliExpress) well, and infrastructure supports aborting/getting runs and reading datasets and key-value records. Minor gaps remain (no run-listing or dataset-listing tools), but core workflows are workable.

Available Tools

12 tools
abort-actor-runAbort Actor runA
DestructiveIdempotent
Inspect

Abort an Actor run that is currently starting or running. For runs with status SUCCEEDED, FAILED, ABORTING, ABORTED, or TIMED-OUT, this call has no effect. The results will include the updated run details after the abort request.

USAGE:

  • Use when you need to stop a run that is taking too long or misconfigured.

USAGE EXAMPLES:

  • user_input: Abort run y2h7sK3Wc

  • user_input: Gracefully abort run y2h7sK3Wc

NameRequiredDescriptionDefault
runIdYesThe ID of the Actor run to abort.
gracefullyNoIf true, the Actor run will abort gracefully with a 30-second timeout.

Output Schema

NameRequiredDescription
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

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, readOnlyHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: the no-effect-on-terminal-states rule, which is exactly what makes the idempotent hint meaningful, plus the fact that updated run details come back. It omits auth/permission requirements and any rate-limit behavior.

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?

Front-loaded with the core action and the state constraint, and every prose sentence earns its place. The 'USAGE EXAMPLES' block of raw user_input lines is mostly decorative and pads the definition slightly.

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?

With an output schema present, return values need not be spelled out, and the description still notes that updated run details are returned. For a two-parameter mutation with full annotation coverage, only auth requirements are unaddressed, which is a minor gap.

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%, so both parameters and the 30-second graceful-abort timeout are already documented in the schema. The description only gestures at 'gracefully' via an example, adding no syntax or semantic meaning beyond the schema. Baseline 3 applies.

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

Purpose5/5

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

Specific verb (Abort) plus resource (Actor run) and a state qualifier ('currently starting or running'), which immediately distinguishes it from siblings like call-actor and get-actor-run. An agent can select it without opening the schema.

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

Usage Guidelines4/5

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

Explicit when-to-use ('stop a run that is taking too long or misconfigured') and an explicit no-op condition (terminal statuses such as SUCCEEDED, FAILED, ABORTED, TIMED-OUT). It does not name an alternative tool or describe prerequisites, so it falls short of a 5.

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

get-actor-runGet Actor runA
Read-onlyIdempotent
Inspect

Get detailed information about a specific Actor run.

Returns run result: status, storages (datasets/keyValueStores alias map), stats, summary, nextStep.

  • summary describes the past (e.g. "SUCCEEDED in 22s. 47 items; 3 fields available.").

  • nextStep prescribes one primary follow-up action with identifiers interpolated (e.g. "Use get-dataset-items with datasetId=...").

  • waitSecs (0–45, default 30) waits up to that many seconds for terminal status before returning.

USAGE:

  • Use to check the status of a run started by any Actor-running tool.

  • Pass waitSecs > 0 to block until terminal (or until the cap elapses).

USAGE EXAMPLES:

  • user_input: Show details of run y2h7sK3Wc

  • user_input: Wait for run y2h7sK3Wc to finish

NameRequiredDescriptionDefault
runIdYesThe ID of the Actor run.
waitSecsNoMaximum seconds to wait for the run to reach a terminal state (SUCCEEDED, FAILED, ABORTED, TIMED-OUT). 0 returns immediately with the current status. Cap: 45. Default: 30.

Output Schema

NameRequiredDescription
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

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, but the description adds real behavioral context beyond them: the summary vs. nextStep semantics, and that waitSecs blocks for up to 45s (default 30) before returning the current state. This is substantive added value, though it doesn't cover error/failure modes.

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?

Front-loaded with the core purpose, then segmented into Returns/USAGE/EXAMPLES blocks. Every line carries information, though the two usage examples are somewhat redundant with the USAGE prose, adding minor length.

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

Completeness5/5

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

With an output schema present and 100% parameter coverage, the description need only orient the agent, which it does fully: purpose, when to use, wait semantics, and concrete invocation examples. Nothing needed to call it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description goes further by framing waitSecs as a blocking/wait mechanism with its cap and default, and by describing what runId's run produces. Slight above-baseline value over the schema text.

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?

States a specific verb and resource ('Get detailed information about a specific Actor run') and enumerates the returned result fields (status, storages, stats, summary, nextStep). It does not explicitly distinguish itself from siblings like call-actor or abort-actor-run, so it falls just short of the 5 benchmark.

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

Usage Guidelines4/5

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

The USAGE block names the condition ('check the status of a run started by any Actor-running tool') and explains when to pass waitSecs > 0 to block until terminal. It gives clear context but stops short of explicit exclusions or naming the sibling to use for other run operations.

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

get-dataset-itemsGet dataset itemsA
Read-onlyIdempotent
Inspect

Get items (rows) from a dataset — the output/results produced by an Actor run. Returns the rows themselves, not dataset metadata, counts, or a schema. When the user provides a datasetId and asks to retrieve results, output, data, or rows, call this tool directly. Default limit is 20. Use clean=true to skip empty items and hidden fields.

USAGE:

  • Use when you need to read data from a dataset (all items or only selected fields).

USAGE EXAMPLES:

  • user_input: Retrieve results from dataset abc123

  • user_input: Get only metadata.url and title from dataset username~my-dataset

NameRequiredDescriptionDefault
descNoIf true, results are returned in reverse order (newest to oldest).
omitNoComma-separated list of fields to exclude from results.
cleanNoIf true, returns only non-empty items and skips hidden fields (starting with #). Shortcut for skipHidden=true and skipEmpty=true.
limitNoMaximum number of items to return. Default is 20.
fieldsNoComma-separated list of fields to include in results. Fields in output are sorted as specified. Use dot notation for nested objects (e.g. "metadata.url"); the server auto-flattens parent prefixes.
offsetNoNumber of items to skip at the start. Default is 0.
flattenNoComma-separated list of fields to flatten (e.g. flatten="metadata" turns {"metadata":{"url":"x"}} into {"metadata.url":"x"}). Normally derived automatically from dot-notation in `fields`; specify only as a diagnostic override.
datasetIdYesDataset ID, name (resolved against your own datasets), or full name as username~name.

Output Schema

NameRequiredDescription
itemsYesDataset items
limitYesLimit used for pagination
offsetYesOffset used for pagination
summaryYesSummary of the result
nextStepYesOne follow-up action with tool name
datasetIdYesDataset ID
itemCountYesNumber of items returned
totalItemCountYesTotal items in dataset
apifyConsoleUrlNoPersonalized Apify Console link to the dataset; present only for Console sessions

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive), so the description adds value by disclosing the default limit of 20, what clean=true does, and that results are the raw rows. Return-shape details are largely deferred to the existing output schema, which is appropriate.

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?

Front-loaded with the core purpose and the anti-scope sentence, followed by short usage notes and examples. Slightly redundant in repeating the limit default and the clean flag across sections, but nothing wasteful enough to hurt.

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?

For a read tool with full schema coverage and an output schema, the description supplies the purpose, trigger, and key defaults an agent needs. Pagination interaction (offset/limit) and flatten behavior are left to the schema, which is reasonable given the output schema exists.

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%, so the schema already documents all eight parameters in depth. The description only restates the default limit and clean=true semantics, adding little beyond the structured fields; baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('Get items (rows) from a dataset') and immediately delimits scope by saying it returns rows themselves, not metadata, counts, or schema. An agent can distinguish the intent without opening the schema.

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

Usage Guidelines4/5

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

Gives a clear trigger ('When the user provides a datasetId and asks to retrieve results, output, data, or rows, call this tool directly') plus a usage section and two concrete examples. It lacks explicit when-not guidance relative to any alternative, but the sibling list contains no competing dataset-read tool.

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

get-key-value-store-recordGet key-value store recordA
Read-onlyIdempotent
Inspect

Get the value stored under a specific key in a key-value store — a single record, not a listing of all keys. Requires the exact key name. The response preserves the original Content-Encoding; most clients handle decompression automatically.

USAGE:

  • Use when you need to retrieve a specific record (JSON, text, or binary) from a store.

USAGE EXAMPLES:

  • user_input: Get record INPUT from store abc123

  • user_input: Get record data.json from store username~my-store

NameRequiredDescriptionDefault
recordKeyYesKey of the record to retrieve.
keyValueStoreIdYesKey-value store ID, name (resolved against your own key-value stores), or full name as username~name.

Output Schema

NameRequiredDescription
keyYesRecord key
valueYesThe stored value (JSON, text, or binary)
summaryYesSummary of the result
contentTypeNoMIME type of the stored value
keyValueStoreIdYesKey-value store ID

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive, so the safety profile is covered elsewhere. The description earns credit for adding behavioral context beyond that: the 'requires the exact key name' precondition and the note that the response preserves the original Content-Encoding, which most clients decompress automatically — a real return-value trait callers would otherwise trip over.

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?

The key facts — scope, exact-key requirement, encoding caveat — are front-loaded in three tight sentences. The subsequent USAGE and USAGE EXAMPLES blocks are somewhat redundant with the first paragraph, costing a little efficiency.

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

Completeness5/5

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

A two-parameter read tool whose annotations, 100% schema coverage, and output schema already cover safety, inputs, and return shape. The description closes the remaining gap with the Content-Encoding behavior, which is exactly the non-obvious detail an agent needs.

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%, including the keyValueStoreId resolution rules (name vs. username~name) and minLength constraints in the schema itself. The description only reinforces that the key must be exact, adding little semantics beyond what the schema already documents, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('Get the value stored under a specific key in a key-value store') and preemptively scopes it against a listing tool: 'a single record, not a listing of all keys.' An agent can immediately tell this is a point lookup, not an enumeration.

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?

It says when to use it ('when you need to retrieve a specific record (JSON, text, or binary)') and includes two concrete usage examples showing the store identifier formats. However, it never states when NOT to use it or names an alternative/sibling for enumeration, so the guidance is implied rather than comparative.

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

hirepulse--aliexpress-search-scraperhirepulse/aliexpress-search-scraperB
Destructive
Inspect

This tool calls the Actor "hirepulse/aliexpress-search-scraper" and retrieves its output results. Actor description: Search AliExpress by keyword to extract products, sale prices, original prices, discounts, exact orders, ratings, shipping signals, delivery estimates, SKU IDs and image galleries. Built for e-commerce research, dropshipping, n8n workflows and AI agents.

NameRequiredDescriptionDefault
sortNobest_match for relevance; orders for source-reported cumulative units sold; price_low or price_high for listing prices. Sold counts are not sales in a fixed time period. Example values: "best_match"best_match
queriesNoAliExpress search keywords, one per item, up to 20 per run. Also accepts singular "query", "keyword", or "search". Example: ["yoga mat", "usb c cable"]. Example values: ["yoga mat"]
ship_toNoDelivery country as a two-letter ISO code. Prices and availability follow it, as on the website. Example: "DE". Default: "US". Example values: "US"US
currencyNoCurrency of all prices, one of the listed codes. Example: "EUR". Default: "USD". Example values: "USD"USD
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.
max_priceNoOnly products priced at or below this value, as a whole number. Example: 50. Optional; must not be below min_price.
min_priceNoOnly products priced at or above this value, as a whole number. Example: 5. Optional.
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_results_per_queryNoMaximum products per keyword: 1–1,200, over at most 20 pages. Start with 5 to inspect relevance. Free-plan preview is capped at 100 products total per run. Source limits, repeated pages or blocking can produce fewer results; inspect the run summary. Example values: 5

Output Schema

NameRequiredDescription
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

TDQS

B3.2/5.0
Behavior2/5

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

Annotations already declare openWorldHint=true and destructiveHint=true, so the agent knows this touches external state, yet the description adds nothing about that: no billing/cost note for an Actor run, no runtime expectations, no mention that results are snapshots that vary by region and time. Those caveats live only in the input schema's description, not the tool description. The description merely restates that it calls the Actor and retrieves results, which is close to what the annotations and name already convey.

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: the wrapper statement first, then the actor capability blurb. There is no filler or marketing padding, and the substantive data list is front-loaded after the boilerplate. The 'This tool calls the Actor ... and retrieves its output results' lead-in is slightly redundant given the tool name, keeping it from a 5.

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

Completeness3/5

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

An output schema exists and the input schema is fully documented, so return values and parameter formats need not be explained. What is missing is behavioral context the schemas don't supply: expected run duration, cost implications of running an Actor, and freshness/snapshot caveats for price data. For a 9-parameter open-world scraping tool, the description is adequate but thin.

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% with 9 well-documented parameters including sort enums, ship_to ISO codes, currency enums and a detailed waitSecs polling note. The description itself adds zero parameter meaning beyond that. Baseline 3 is correct: the schema does all the work and the description neither helps nor misleads.

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 states a specific resource and verb twice over: it runs the 'hirepulse/aliexpress-search-scraper' Actor and returns its results, and the actor blurb names the exact fields extracted (products, sale and original prices, discounts, orders, ratings, shipping signals, delivery estimates, SKU IDs, image galleries). That is far more specific than a generic 'scraper' label. It stops short of distinguishing this from sibling scrapers (google-jobs, google-ads-transparency) beyond the AliExpress domain, so a 4 rather than a 5.

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 only usage signal is the audience list 'built for e-commerce research, dropshipping, n8n workflows and AI agents', which implies context but gives no when-to-use conditions, prerequisites, or exclusions. Nothing tells the agent when to prefer this over a sibling scraper or when it is the wrong tool. Usage is implied, not stated.

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

hirepulse--ats-job-pulsehirepulse/ats-job-pulseB
Destructive
Inspect

This tool calls the Actor "hirepulse/ats-job-pulse" and retrieves its output results. Actor description: Job postings from Greenhouse, Lever, Ashby, Workable, Recruitee and SmartRecruiters by company domain. Apply links, hiring summaries, and a job postings monitor for new and closed jobs across runs: hiring signals for lead enrichment. JSON for n8n, Make and Apify MCP.

NameRequiredDescriptionDefault
state_idNoName of the saved history for change tracking. Runs with the same state_id are compared with each other; history is kept per company. Use one value per watchlist or schedule. Example: "eng-watchlist". Default: "default_state". Example values: "default_state"default_state
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.
companiesYes**REQUIRED** Required. Company website domains or job-board slugs, one per item. Example: ["stripe.com", "linear.app"]. The job board is detected automatically on Greenhouse, Lever, Ashby, Workable, Recruitee and SmartRecruiters (not Workday). To force a board, prefix the slug: "greenhouse:stripe", "lever:spotify", "ashby:linear", "workable:huggingface", "recruitee:bunq", "smartrecruiters:BoschGroup". Charged once per company found, whatever its job count. Example values: ["ashby:linear"]
locationsNoKeep only jobs whose location contains any of these words (case-insensitive). Example: ["london", "new york", "germany"].
track_diffNoCompare with the previous run that used the same state_id and set each job's status to NEW, EXISTING or CLOSED. The first run marks every job NEW (is_first_run = true). When false, every job is ACTIVE and nothing is saved. Default: false.
departmentsNoKeep only jobs whose department contains any of these words (case-insensitive). Example: ["engineering", "sales"].
output_modeNoWhich records to return. "summary_only": one company_summary per company (job counts, new and closed counts, departments, locations, technologies); the smallest output, best for AI agents. "jobs_and_summary": the summary plus every job record. "jobs_only": job records only. Default: "jobs_and_summary". For a cheap agent check use output_mode="summary_only" and max_jobs_per_company=20. This keeps returned data small; the per-company charge is unchanged. Example values: "jobs_and_summary"jobs_and_summary
remote_onlyNoKeep only jobs marked or described as remote. Default: false.
only_changesNoReturn only jobs whose status is NEW or CLOSED. Use it on scheduled runs with a fixed state_id to get just what changed since the last run. Default: false.
technologiesNoKeep only jobs that mention any of these technologies, using the names returned in detected_technologies (case-insensitive). Example: ["Python", "Kubernetes", "LLMs"].
title_keywordsNoKeep only jobs whose title contains any of these words or phrases (case-insensitive). Example: ["engineer", "data scientist"]. Filters reduce the job records only; the summary always counts all jobs.
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_companyNoMaximum job records per company, after the other filters. 0 = no limit. When the limit applies, NEW jobs are kept first, then CLOSED, then the rest; the summary's matching_jobs gives the full count. Example: 20. Default: 5. For a cheap agent check use output_mode="summary_only" and max_jobs_per_company=20. This keeps returned data small; the per-company charge is unchanged. Example values: 5
extract_tech_keywordsNoDetect core technologies (Python, AWS, React, Kubernetes, LLMs, ...) in each job title and description, and return them in detected_technologies and in the summary's top_technologies. Default: true. Example values: true

Output Schema

NameRequiredDescription
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

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true and openWorldHint=true, and the schema documents the per-company charge and waitSecs polling behavior. The description adds that runs are compared across executions for NEW/CLOSED tracking, which is useful context, but it never explains why a scraper is flagged destructive (it launches an Actor run and bills per company found) and its phrase 'retrieves its output results' understates the run-and-charge behavior.

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

Conciseness3/5

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

The first sentence is boilerplate about calling an Actor, and the second is a dense, comma-heavy list that ends in platform filler ('JSON for n8n, Make and Apify MCP') which does not help tool selection. The substantive content (sources, hiring signals, change monitoring) is present but not front-loaded.

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

Completeness3/5

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

With an output schema, full parameter coverage and annotations, the definition is workable, and it does convey sources and the cross-run monitoring concept. It omits material facts an agent should know before invoking: that Workday is unsupported, that a run is created and billed per company, and that first-run velocity signals are meaningless.

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 14 parameters, so the schema already explains state_id, track_diff, output_mode, filters and max_jobs_per_company in detail. The description adds essentially nothing parameter-specific beyond 'by company domain', so the baseline 3 applies.

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 specific resource (job postings) and the exact sources it covers (Greenhouse, Lever, Ashby, Workable, Recruitee, SmartRecruiters) plus the access path (company domain), so an agent knows what the tool returns. It does not differentiate itself from the sibling hirepulse--google-jobs-scraper, which is a very similar job-scraping tool, so an agent must infer the distinction.

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?

Usage is only implied through phrases like 'hiring signals for lead enrichment' and 'a job postings monitor for new and closed jobs across runs'. There is no explicit when-to-use versus when-not guidance, no mention of the Google Jobs sibling as an alternative, and no stated prerequisites (e.g., that a fixed state_id is needed for monitoring).

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

hirepulse--company-intent-radarhirepulse/company-intent-radarA
Destructive
Inspect

This tool calls the Actor "hirepulse/company-intent-radar" and retrieves its output results. Actor description: Research B2B companies by domain: combine ATS hiring, Google Ads Transparency records, website technologies and email DNS signals in one JSON report. Includes source availability and an explainable intent estimate for account qualification, AI sales agents and n8n.

NameRequiredDescriptionDefault
countryNoTwo-letter ISO country code used for the organic SEO traffic estimate. Example: "GB". Default: "US". Example values: "US"US
domainsYes**REQUIRED** Required. Company websites, one per item, up to 100 per run. Full URLs are fine too. Example: ["stripe.com", "notion.so"]. Returns one report per domain. Example values: ["linear.app"]
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.
include_jobsNoAdd the 5 newest job titles to each report. Default: false, which keeps reports short.
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.

Output Schema

NameRequiredDescription
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

TDQS

A3.5/5.0
Behavior3/5

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

The framing 'calls the Actor and retrieves its output results' usefully signals that this spawns an external run rather than reading stored data, and it discloses that source availability plus an intent estimate come back. However, annotations declare destructiveHint=true and openWorldHint=true for what reads like a pure research call, and the description never explains that tension, nor mentions credit cost, run persistence, or the waitSecs cap / nextStep polling path documented only in the schema.

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, no padding, and the informative content is front-loaded in the second sentence. The opening sentence ('This tool calls the Actor ... and retrieves its output results') is scaffolding that restates the tool name and earns little of its space, keeping this below a 5.

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-value explanation is not required, and annotations plus the schema description carry safety and scope caveats. What is missing from the description is only the operational picture — that a run may return before completion at the waitSecs cap and that results must be polled — which the schema partially covers.

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% and each parameter (domains, country, waitSecs, include_jobs, use_paid_upstream) carries its own detailed documentation, so the schema does the work. The description adds only the loose phrase 'by domain' and no additional semantics about batching, per-domain reporting, or cost of the paid-upstream flag, so baseline 3 applies.

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?

Second sentence states a specific verb+resource: consolidate ATS hiring, Google Ads Transparency, website tech and email DNS signals into one JSON report per company domain. That is materially more specific than siblings like ats-job-pulse or google-ads-transparency-scraper, though the description never names those siblings to make the 'combined radar vs. single-source scraper' distinction explicit.

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?

Use cases are named (account qualification, AI sales agents, n8n), which implies when to reach for it, but there is no when-not guidance and no reference to the single-signal siblings that are the obvious alternatives. The explicit exclusions ('Public mode does not measure SEO traffic or ad spend') live in the schema description, not here, so the tool description alone leaves the agent to infer scope.

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

hirepulse--domain-seo-overviewhirepulse/domain-seo-overviewC
Destructive
Inspect

This tool calls the Actor "hirepulse/domain-seo-overview" and retrieves its output results. Actor description: Instant technical SEO audit, homepage metadata, canonical URLs, sitemaps, robots.txt, /llms.txt AI readiness and Chrome popularity tier for any website. Fast, zero-cost native mode with actionable findings. Perfect for n8n, Python, and AI agents.

NameRequiredDescriptionDefault
urlNoConvenience alias for a full website URL. Used if domains is omitted.
domainNoConvenience alias for a single domain (e.g. "linear.app" or "https://stripe.com"). Used if domains is omitted.
countryNoCountry 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". Example values: "US"US
domainsNoRequired. Websites to analyze, one per item, up to 100 per run. Full URLs are reduced to the domain. Example: ["stripe.com", "adyen.com"]. Example values: ["linear.app"]
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.
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.
competitorsNoDefault: 0. Disabled in public mode. Measured SEO data requires a separately enabled paid provider; keep 0 for public-only research.
top_keywordsNoDefault: 0. Disabled in public mode. Measured SEO data requires a separately enabled paid provider; keep 0 for public-only research.
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.

Output Schema

NameRequiredDescription
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

TDQS

C2.9/5.0
Behavior2/5

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

Annotations declare destructiveHint=true and openWorldHint=true, so the description should explain what makes this destructive or what it costs; instead it asserts 'Fast, zero-cost native mode' without acknowledging that the call spawns an Actor run, may wait up to 45s (waitSecs), or that paid upstream data exists behind owner opt-in. No run lifecycle, polling/nextStep behavior, or per-run limits (100 domains) are disclosed in the description. With a destructive annotation in play, this leaves the agent materially under-informed.

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

Conciseness3/5

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

Two sentences, but the first is boilerplate ('calls the Actor ... and retrieves its output results') and the second mixes useful capability detail with filler ('Perfect for n8n, Python, and AI agents'). It is short but not front-loaded on what an agent actually needs to decide and call.

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

Completeness3/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 not be explained, and the schema description already covers the public-mode caveats (no traffic/ranking/volume data). However, for a destructive, open-world actor-run tool the description omits cost/credit implications, run-lifecycle behavior and sibling routing, leaving real gaps at the description level.

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% and all 9 parameters carry detailed descriptions, including the domains/url/domain aliasing, the 94-country enum, waitSecs semantics and the paid-upstream opt-in. The description adds nothing beyond that, so the baseline 3 applies — the schema does all the work.

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 specific resource and output set: technical SEO audit covering homepage metadata, canonical URLs, sitemaps, robots.txt, /llms.txt AI readiness and Chrome popularity tier. An agent can tell this is a site-audit tool rather than a keyword-volume or job-scraper sibling. It loses a point because the opening sentence is a generic 'calls the Actor and retrieves its output' wrapper that adds no distinguishing information.

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

Usage Guidelines2/5

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

The description itself contains no when-to-use or when-not-to-use guidance; 'Perfect for n8n, Python, and AI agents' is marketing, not routing criteria. It never mentions the sibling tools (e.g. keyword-search-volume, company-intent-radar) or the public-vs-paid mode choice that would change which tool/params an agent picks. Only the separate schema description hints at usage ('inspect a site before a technical SEO audit'), and that is not in the description field.

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

hirepulse--google-ads-transparency-scraperhirepulse/google-ads-transparency-scraperB
Destructive
Inspect

This tool calls the Actor "hirepulse/google-ads-transparency-scraper" and retrieves its output results. Actor description: Scrape Google Ads Transparency Center records by company domain: ad creatives, formats, advertisers and first/last shown dates when available. Export JSON for competitor ad research, brand monitoring, n8n, Make and Apify MCP. Includes bulk domains and summary options.

NameRequiredDescriptionDefault
modeNo"ads": one record per ad (advertiser, format, first and last shown dates, preview and transparency links). "summary": one compact record per domain (runs_google_ads, total_ads, formats, advertisers, latest ad), charged per domain only, and domains without ads are free; best for lead lists and AI agents. Default: "ads". For a cheap agent check use mode="summary" with one domain. For an ad sample use mode="ads" and max_ads_per_domain=1. Example values: "ads"ads
formatNoOnly ads of this format: "all", "text", "image" or "video". Default: "all". Example values: "all"all
countryNoOnly ads shown in this country, as a two-letter ISO code. Example: "US", "GB" or "DE". Leave empty for ads shown in any country.
date_toNoOnly ads shown on or before this date, YYYY-MM-DD. Example: "2026-09-30". Optional.
domainsYes**REQUIRED** Required. Company websites, one per item, up to 100 per run. Full URLs are fine too. Example: ["nike.com", "adidas.com"]. Results include every advertiser whose ads lead to the domain, not only the brand itself. Example values: ["nike.com"]
platformNoOnly ads shown on this Google platform: "all", "google_search", "youtube", "google_shopping", "google_play" or "google_maps". Default: "all". Example values: "all"all
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.
date_fromNoOnly ads shown on or after this date, YYYY-MM-DD. Example: "2026-09-01". Set together with date_to. Optional.
only_new_adsNoReturn only ads that your earlier runs did not return yet, for the same domain and filters (remembered in your own Apify account). Use it with a daily or weekly schedule to monitor new competitor ads. The per-domain fee still applies when the domain runs ads, even if none of them is new. Default: false.
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_ads_per_domainNoAds mode only: most recent ads to return per domain, 1 to 120. Each returned ad is one charged result. Default: 3. For a cheap agent check use mode="summary" with one domain. For an ad sample use mode="ads" and max_ads_per_domain=1. Example values: 3

Output Schema

NameRequiredDescription
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

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true and openWorldHint=true, and the description is consistent with them (it triggers an Actor run, so not a pure read). Beyond that it adds only the generic framing 'calls the Actor ... and retrieves its output results'; it omits the cost model (per-result/per-domain charges), run duration, and the polling path — details that appear only inside parameter descriptions or not at all.

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

Conciseness3/5

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

The purpose is front-loaded in the first sentence, but the second sentence's tail — 'for competitor ad research, brand monitoring, n8n, Make and Apify MCP' — is channel marketing that adds no decision value for an agent.

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

Completeness3/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 not be explained, and the schema carries the parameter detail. However, for a paid, destructive, long-running scrape with 11 parameters, the description says nothing about billing, run lifecycle, or that an empty result is not evidence a brand never advertises — that caveat is buried in the schema description instead of the tool description.

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%, so all 11 parameters (including enum values, waitSecs cap, only_new_ads semantics and paid-upstream gating) are already documented in the schema. The description adds no parameter meaning of its own, so the baseline of 3 applies.

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 specific verb and resource: scraping Google Ads Transparency Center records by company domain, listing the returned fields (creatives, formats, advertisers, first/last shown dates). It does not differentiate from sibling scrapers (aliexpress-search, youtube-transcript, domain-seo-overview), so an agent must infer from the domain topic alone which scraper to pick.

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?

It offers use contexts ('competitor ad research, brand monitoring') but no when-to-use/when-not guidance relative to siblings, and no routing to get-actor-run or get-dataset-items despite the tool being an Actor invocation. The mode-selection guidance (summary vs ads) lives in the schema parameter descriptions, not the tool description.

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

hirepulse--google-jobs-scraperhirepulse/google-jobs-scraperA
Destructive
Inspect

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.

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

NameRequiredDescription
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

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.

hirepulse--keyword-search-volumehirepulse/keyword-search-volumeB
Destructive
Inspect

This tool calls the Actor "hirepulse/keyword-search-volume" and retrieves its output results. Actor description: Generate Google Autocomplete keyword suggestions from seed phrases for SEO, content planning and keyword research. Export keywords, source and availability fields as JSON for n8n, Make and Apify MCP. Public mode returns no measured search volume, CPC or difficulty.

NameRequiredDescriptionDefault
modeNoDefault: "suggestions". Public mode returns autocomplete suggestions with metrics_available=false and null volume/CPC. Measured metrics and ideas require a separately enabled paid provider. Example values: "suggestions"suggestions
countryNoCountry 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". Example values: "US"US
keywordsYes**REQUIRED** Required. Seed phrases as an array; one phrase per item. Example: ["web scraping"]. Public suggestions use autocomplete and do not include measured search volume or CPC. No target is supplied automatically to API callers. Example values: ["web scraping"]
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.
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.
max_resultsNoOnly for "ideas" and "suggestions": maximum keywords to return (per seed in "suggestions" mode), 1 to 1,000. Each returned keyword with metrics is one charged result. Example: 30. Default: 5. Example values: 5
min_search_volumeNoReturn only keywords with at least this many monthly searches. Keywords below it are not returned and not charged. Example: 100. Default: 0 (no minimum).
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.
include_ai_search_volumeNoAlso return ai_search_volume, an estimate of how often each keyword is used in AI assistants per month. Costs one extra lookup per batch plus one result for every keyword with AI data; where the data is not available, the field stays null and nothing extra is charged. Default: false.
include_monthly_searchesNoAdd a monthly_searches array with the search volume of each of the last 12 months. Default: false, which keeps the output small.

Output Schema

NameRequiredDescription
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

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true and openWorldHint=true, and the description is consistent with them (it triggers an Actor run). It adds a genuinely useful behavioral caveat — public mode returns no measured volume/CPC/difficulty and null fields — but omits the cost/billing implications of running the Actor and the async wait/poll behavior that the schema documents.

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

Conciseness3/5

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

The content is a reasonable length and the substantive actor description is present, but the opening sentence ('This tool calls the Actor ... and retrieves its output results') is reusable boilerplate that restates the title and eats front-loaded space. The useful scoping caveat lands in the final sentence rather than early.

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

Completeness3/5

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

With an output schema present and annotations covering the safety profile, the description needn't explain returns or safety. It adequately conveys purpose and the metrics limitation, but for a 10-parameter, credit-consuming Actor call it omits the run lifecycle (waitSecs/polling) and cost context an agent should weigh before invoking.

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%, so all ten parameters are already documented in the schema, and the description adds no syntax or format detail beyond it. Its one semantic contribution is reinforcing that 'suggestions' mode yields no metrics, which loosely relates to the mode parameter. Baseline 3 applies.

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 actor description states a specific verb+resource: 'Generate Google Autocomplete keyword suggestions from seed phrases'. This distinguishes it from the sibling scrapers (aliexpress, google-jobs, youtube-transcript). However, the leading sentence is boilerplate meta ('calls the Actor ... retrieves its output results') and the tool name misleadingly implies search volume, which the description must then walk back.

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

Usage Guidelines2/5

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

It names use cases ('for SEO, content planning and keyword research') but gives no when-to-use/when-not guidance and names no alternative sibling tools. The mode/limitation notes are constraints rather than routing guidance, so an agent gets no help choosing between this and the other hirepulse scrapers.

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

hirepulse--youtube-transcript-scraperhirepulse/youtube-transcript-scraperA
Destructive
Inspect

This tool calls the Actor "hirepulse/youtube-transcript-scraper" and retrieves its output results. Actor description: Extract YouTube transcripts in bulk from videos, Shorts and live replays with accessible captions. Export clean text, caption language and optional timestamps for RAG, summaries and content research. No YouTube API key; works with n8n, Make and Apify MCP.

NameRequiredDescriptionDefault
videosYes**REQUIRED** Required. YouTube video URLs or 11-character video IDs, one per item, up to 1,000 per run. Regular links, youtu.be links, Shorts, embeds and live links all work. Example: ["https://youtu.be/jNQXAC9IVRw"]. Each delivered transcript is one charged result; videos without captions are not charged. Example values: ["https://youtu.be/jNQXAC9IVRw"]
languageNoPreferred caption language as a two-letter code. Example: "es". If the video has captions in it they are used; otherwise the main captions are returned and the language field says which. Leave empty for the main captions.
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.
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.
include_timestampsNoAdd a segments array with the start time, duration and text of every caption line. Default: false, which keeps the output small.

Output Schema

NameRequiredDescription
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

TDQS

A3.6/5.0
Behavior4/5

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

Annotations declare readOnly=false, destructive=true, openWorld=true, but the description adds context annotations cannot: no YouTube API key required, it does not transcribe audio, captions are not guaranteed, and unavailable/blocked/captionless videos return explained outcomes. That sets accurate expectations for output failures. It does not address the surprising destructiveHint=true or the fact that a run is started, which leaves a small gap.

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

Conciseness3/5

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

The lead sentence is pure boilerplate about invoking an Actor, and the tail includes marketing filler ('No YouTube API key; works with n8n, Make and Apify MCP'). The useful content — bulk extraction scope and the no-transcription caveat — is buried mid-text rather than front-loaded.

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?

With a full input schema, an output schema, and annotations already supplied, the description only needs to frame purpose and limits — which it does, including the caption-availability caveat and error outcomes. Only the run-lifecycle/polling implication is left implicit.

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%, with the `videos` array, `language`, `waitSecs`, `use_paid_upstream` and `include_timestamps` all documented in detail including examples and charging semantics. The description adds nothing parameter-specific beyond 'optional timestamps,' so the baseline 3 applies.

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 second sentence gives a specific verb and resource: 'Extract YouTube transcripts in bulk from videos, Shorts and live replays.' That is enough for an agent to distinguish it from siblings like google-jobs-scraper or ats-job-pulse. The first sentence is boilerplate ('calls the Actor ... and retrieves its output results') and does no differentiating work, but the net purpose is unambiguous.

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?

It names target scenarios ('for RAG, summaries and content research') and mentions integration contexts (n8n, Make, Apify MCP), which implies when to reach for it. However, there is no explicit when-not guidance and no routing between this tool and siblings such as get-dataset-items or get-actor-run, which a caller may also need for long runs.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedhirepulse--company-intent-radar3 fields changed
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / latest_job_posted / type
        Previous value: -[
        -  "null",
        -  "string"
        -]New value: +"string"
      • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / top_departments / items
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / top_departments / type
        Added value: +"array"
  2. 1 tool update
    • Changedhirepulse--company-intent-radar3 fields changed
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / latest_job_posted / type
        Previous value: -"string"New value: +[
        +  "null",
        +  "string"
        +]
      • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / top_departments / items
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / top_departments / type
        Removed value: -"array"
  3. 1 tool update
    • Changedhirepulse--company-intent-radar3 fields changed
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / latest_job_posted / type
        Previous value: -[
        -  "string",
        -  "null"
        -]New value: +"string"
      • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / top_departments / items
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / top_departments / type
        Added value: +"array"
  4. 1 tool update
    • Changedhirepulse--company-intent-radar1 field changed
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / latest_job_posted / type
        Previous value: -[
        -  "null",
        -  "string"
        -]New value: +[
        +  "string",
        +  "null"
        +]
  5. 1 tool update
    • Changedhirepulse--company-intent-radar3 fields changed
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / latest_job_posted / type
        Previous value: -"string"New value: +[
        +  "null",
        +  "string"
        +]
      • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / top_departments / items
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / top_departments / type
        Removed value: -"array"
  6. 1 tool update
    • Changedhirepulse--company-intent-radar3 fields changed
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / latest_job_posted / type
        Previous value: -[
        -  "string",
        -  "null"
        -]New value: +"string"
      • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / top_departments / items
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / top_departments / type
        Added value: +"array"
  7. 1 tool update
    • Changedhirepulse--company-intent-radar1 field changed
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / latest_job_posted / type
        Previous value: -[
        -  "null",
        -  "string"
        -]New value: +[
        +  "string",
        +  "null"
        +]
  8. 1 tool update
    • Changedhirepulse--company-intent-radar1 field changed
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / latest_job_posted / type
        Previous value: -[
        -  "string",
        -  "null"
        -]New value: +[
        +  "null",
        +  "string"
        +]
  9. 1 tool update
    • Changedhirepulse--company-intent-radar3 fields changed
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / latest_job_posted / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / top_departments / items
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / top_departments / type
        Removed value: -"array"
  10. 1 tool update
    • Changedhirepulse--company-intent-radar3 fields changed
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / latest_job_posted / type
        Previous value: -[
        -  "null",
        -  "string"
        -]New value: +"string"
      • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / top_departments / items
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / top_departments / type
        Added value: +"array"
  11. 2 tool updates
    • Changedhirepulse--aliexpress-search-scraper17 fields changed
      • addedInput schema / properties / queries / default
        Added value: +[
        +  "yoga mat"
        +]
      • changedInput schema / properties / queries / description
        Previous value: -"**REQUIRED** Required. AliExpress search keywords, one per item, up to 20 per run. Example: [\"yoga mat\", \"usb c cable\"]. Keyword searches only; product page URLs are not supported.\nExample values: [\"yoga mat\"]"New value: +"AliExpress search keywords, one per item, up to 20 per run. Also accepts singular \"query\", \"keyword\", or \"search\". Example: [\"yoga mat\", \"usb c cable\"].\nExample values: [\"yoga mat\"]"
      • changedInput schema / properties / queries / items / description
        Previous value: -"**REQUIRED** Required. AliExpress search keywords, one per item, up to 20 per run. Example: [\"yoga mat\", \"usb c cable\"]. Keyword searches only; product page URLs are not supported."New value: +"AliExpress search keywords, one per item, up to 20 per run. Also accepts singular \"query\", \"keyword\", or \"search\". Example: [\"yoga mat\", \"usb c cable\"]."
      • changedInput schema / required
        Previous value: -[
        -  "queries"
        -]New value: +[]
      • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / badge
        Added value: +{
        +  "type": [
        +    "null",
        +    "string"
        +  ]
        +}
      • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / charged
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / gallery_images
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / message
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / needs_attention
        Removed value: -{
        -  "type": "boolean"
        -}
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / original_price / type
        Previous value: -[
        -  "number",
        -  "null"
        -]New value: +"number"
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / rating / type
        Previous value: -[
        -  "number",
        -  "null"
        -]New value: +"number"
      • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / shipping
        Added value: +{
        +  "properties": {
        +    "cost": {
        +      "type": "null"
        +    },
        +    "delivery_estimate": {
        +      "type": "null"
        +    },
        +    "free_shipping": {
        +      "type": "boolean"
        +    },
        +    "ship_from": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / sku_id
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / sold / type
        Previous value: -[
        -  "number",
        -  "null"
        -]New value: +"number"
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / sold_text / type
        Previous value: -[
        -  "string",
        -  "null"
        -]New value: +"string"
      • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / status
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / tags
        Added value: +{
        +  "items": {},
        +  "type": "array"
        +}
    • Changedhirepulse--company-intent-radar3 fields changed
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / latest_job_posted / type
        Previous value: -"string"New value: +[
        +  "null",
        +  "string"
        +]
      • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / top_departments / items
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / top_departments / type
        Removed value: -"array"
  12. 1 tool update
    • Changedhirepulse--aliexpress-search-scraper2 fields changed
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / original_price / type
        Previous value: -[
        -  "null",
        -  "number"
        -]New value: +[
        +  "number",
        +  "null"
        +]
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / rating / type
        Previous value: -[
        -  "null",
        -  "number"
        -]New value: +[
        +  "number",
        +  "null"
        +]
  13. 1 tool update
    • Changedhirepulse--aliexpress-search-scraper2 fields changed
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / original_price / type
        Previous value: -[
        -  "number",
        -  "null"
        -]New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / rating / type
        Previous value: -[
        -  "number",
        -  "null"
        -]New value: +[
        +  "null",
        +  "number"
        +]
  14. 2 tool updates
    • Changedhirepulse--aliexpress-search-scraper2 fields changed
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / original_price / type
        Previous value: -[
        -  "null",
        -  "number"
        -]New value: +[
        +  "number",
        +  "null"
        +]
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / rating / type
        Previous value: -[
        -  "null",
        -  "number"
        -]New value: +[
        +  "number",
        +  "null"
        +]
    • Changedhirepulse--company-intent-radar3 fields changed
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / latest_job_posted / type
        Previous value: -[
        -  "string",
        -  "null"
        -]New value: +"string"
      • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / top_departments / items
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / top_departments / type
        Added value: +"array"
  15. 2 tool updates
    • Changedhirepulse--aliexpress-search-scraper2 fields changed
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / original_price / type
        Previous value: -[
        -  "number",
        -  "null"
        -]New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / rating / type
        Previous value: -[
        -  "number",
        -  "null"
        -]New value: +[
        +  "null",
        +  "number"
        +]
    • Changedhirepulse--company-intent-radar1 field changed
      • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / latest_job_posted / type
        Previous value: -[
        -  "null",
        -  "string"
        -]New value: +[
        +  "string",
        +  "null"
        +]

Publisher details

Operator
Unknown
Operator website
Unknown
Vendor relationship
Unknown
Documentation
Unknown
Trust center
Unknown
Restrictions
Unknown

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    21 web-data tools for AI agents: jobs, hiring signals, news, research and field trends, reviews, Reddit leads, contacts, property, Shopify, events.
    44
    329 npm
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    17 data tools for AI agents: Google Flights, Hotels, Shopping, News, Images, Videos, Jobs and Trends, Google Maps leads, Ads Transparency, YouTube transcripts, app reviews and AI visibility. Each tool runs an AutomationNation Actor on your own Apify account.
    18
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    19 public-data tools for AI agents: Google SERP with full AI Overviews, Google AI Mode, Southeast Asia + global news mentions, Google Maps, Jobs, Trends, Ads Transparency, website contacts, YouTube, TikTok and more. Each tool runs a pay-per-result Apify actor on your own Apify token, with a per-call spending cap.
    20
    702 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.