Skip to main content
Glama

Search remote jobs (Remote OK, We Work Remotely, Jobicy)

search_remote_jobs
Read-only

Search deduplicated remote job postings from Remote OK, We Work Remotely and Jobicy, filtered by keywords, location, salary and posting date.

Instructions

One deduplicated list of remote job postings from the official public feeds of Remote OK, We Work Remotely and Jobicy, with the source named on every job. Filter by keywords, excludeKeywords, locations (for example 'USA', 'Europe'), requireSalary, minSalaryUsd and postedWithinDays. Set includeDescription to true for full descriptions. Cost, charged to your own Apify account: $0.001 per job returned. Each call is capped at maxCostUsd (default $0.25). Defaults applied by this server when omitted: maxTotalJobs=25. Runs Apify Actor fecklesspleb/remote-jobs-aggregator (https://apify.com/fecklesspleb/remote-jobs-aggregator).

Input Schema

NameRequiredDescriptionDefault
dedupeNoMerge duplicates across boards. The same job is often posted on several boards. Keep one record (newest) and list the other copies in 'alsoListedOn'.
sourcesNoSources. Which job boards to include. Leave empty for all.
keywordsNoKeywords (any). Keep jobs whose title, tags or category contain at least one of these words (case-insensitive). Leave empty to keep all.
jobicyGeoNoJobicy region. Optional Jobicy geo filter, for example 'usa', 'europe', 'canada'.
locationsNoLocations (any). Keep jobs whose location or region text contains one of these strings, for example 'USA', 'Europe', 'Anywhere'.
maxCostUsdNoMost this call may charge your Apify account, in US dollars. Default 0.25, maximum 5. Passed to Apify as maxTotalChargeUsd, the most Apify will charge for this run.
onlyNewJobsNoOnly new jobs (monitoring mode). Return only jobs not returned by a previous run with this option on, so scheduled runs give a clean feed and you pay only for new jobs.
maxTotalJobsNoMax jobs in total. Stop after this many jobs. Default 8, so a run with no input is small and fast. 0 means no limit. The run also stops at your 'Maximum cost per run'.
minSalaryUsdNoMinimum yearly salary (USD). Keep jobs whose top of range, converted to a rough yearly USD figure, is at least this. Jobs without a salary are dropped when this is set.
requireSalaryNoOnly jobs with a salary. Keep only jobs that state pay (from the board or found in the description).
wwrCategoriesNoWe Work Remotely categories. Limit We Work Remotely to these categories. Empty means all.
jobicyIndustryNoJobicy industry. Optional Jobicy industry filter, for example 'dev', 'marketing', 'design-multimedia'.
stateStoreNameNoState store name. Named key-value store for 'Only new jobs' and the Jobicy hourly limit.remote-jobs-aggregator-state
excludeKeywordsNoExclude title keywords. Drop jobs whose title contains any of these words.
postedWithinDaysNoPosted within last N days. Keep only jobs posted in the last N days. Jobs without a posting date are kept.
descriptionFormatNoDescription format. Plain text, HTML, or both. Values: text = Plain text; html = HTML; both = Both.text
includeDescriptionNoInclude description. Include the full job description. Off by default to keep runs small; turn it on to get descriptionText / descriptionHtml.
searchInDescriptionNoMatch keywords in description too. Also match keywords against the full job description.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already establish read-only, open-world, non-destructive behavior, and the description goes well past them by disclosing metered pricing ($0.001 per job billed to the caller's Apify account), a per-call cost cap (maxCostUsd default $0.25), server-side defaults (maxTotalJobs=25), dedupe with source attribution, and the upstream Actor being run. Those are exactly the operational facts an agent needs before spending the user's money.

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 what the tool returns and where it comes from, then filtering, then cost and defaults - a sensible order with no filler sentences. It is dense but every sentence carries information, though the trailing Actor URL is close to boilerplate for an agent choosing a tool.

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?

For an 18-parameter, zero-required aggregator with no output schema, the description covers the essentials: result shape (deduplicated list with source labeled), primary filters, cost model, and defaults, while deep per-parameter detail is fully carried by the schema. The only mild gap is not describing the returned record fields (e.g. alsoListedOn, descriptionText), which the schema only partially implies.

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, and the description adds real value by surfacing the high-signal filters (keywords, excludeKeywords, locations, requireSalary, minSalaryUsd, postedWithinDays, includeDescription) and clarifying the cost-cap semantics of maxCostUsd. It also resolves an internal schema ambiguity by stating the server default of maxTotalJobs=25 where the schema text says 'Default 8'. It does not explain the board-specific filters (wwrCategories, jobicyGeo, jobicyIndustry, stateStoreName), but those are documented in-schema.

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 concrete verb and resource ('deduplicated list of remote job postings') and enumerates the exact sources (Remote OK, We Work Remotely, Jobicy), which functionally separates it from the ATS-specific siblings like greenhouse_jobs and lever_jobs. The sourcing also tells the agent the results come from public aggregator feeds rather than a single employer's board.

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 context is implied by the filter list and the cost note, but there is no explicit when-to-use/when-not statement and no naming of the ATS siblings as the alternative for company-specific searches. Hints such as turning on includeDescription 'for full descriptions' and onlyNewJobs for scheduled runs exist, but most of that guidance lives in the schema rather than the description.

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