Sign inTry it

Search remote jobs on Working Nomads.

Searches Working Nomads remote job listings with the same search index the jobs page uses: job title, company, category, locations allowed, publication date, tags and link to the listing. First 20 matches by relevance. Expired listings are left out.

No reports yetRead-only, no login
Site
Working Nomads, United States
Version
v1
Runs, last 7 days
No reports yet
sha256
100c0a4b3354…

Run it with your agent

after installing Wield

Ask in plain words. Your agent finds this recipe and calls it:

“Search remote jobs on Working Nomads.”

Read-only: it changes nothing on the site. No login needed.

{
  "tool": "run",
  "arguments": {
    "recipe_id": "workingnomads.com/search-jobs",
    "params": {
      "query": "developer"
    }
  }
}

Requests

sent from your browser, in order
  1. 1GET/jobsapi/_search?q&sizeRead-only GET to the jobs search index the site's jobs page uses (elasticRootUrl + /jobsapi/_search, index jobsapi), with q and size. Each hit's _source holds the job fields.

Parameters

from your agent
querystringrequiredJob title, skill or keyword, e.g. 'developer', 'marketing', 'customer support'

Returns

to your agent
jobsobject[]category, company, locations, published, tags, title, url
querystring

Where it can send

  • www.workingnomads.com

Anything else is blocked by the extension.

Reads from your session

Nothing. Your browser attaches the site's cookies by itself.

Used only in requests to the addresses on the left. Never sent to wield.run or your agent.

Checks

a run passes when
  • length(output.jobs) > `0`
  • length(output.jobs[?title != `null`]) == length(output.jobs)
  • length(output.jobs[?starts_with(url, 'https://www.workingnomads.com/jobs/')]) == length(output.jobs)

Raw recipe

Served as canonical JSON from /api/v1/recipes/workingnomads.com/search-jobs, so its sha256 matches the ETag and the index.

Check it yourself
curl -s https://wield.run/api/v1/recipes/workingnomads.com/search-jobs | shasum -a 256
# 100c0a4b335413a8374d1f1ee6789d6eb452b0b70dce94e40feebf1d500502e6
workingnomads.com/search-jobs.json, v1
{
  "description": "Searches Working Nomads remote job listings with the same search index the jobs page uses: job title, company, category, locations allowed, publication date, tags and link to the listing. First 20 matches by relevance. Expired listings are left out.",
  "effect": "read",
  "id": "workingnomads.com/search-jobs",
  "keywords": [
    "working nomads",
    "workingnomads",
    "remote jobs",
    "remote work",
    "digital nomad",
    "remote developer jobs",
    "remote marketing jobs",
    "customer support jobs",
    "work from anywhere",
    "telecommute",
    "freelance",
    "jobs",
    "homeoffice",
    "stellenangebote"
  ],
  "output": {
    "schema": {
      "properties": {
        "jobs": {
          "items": {
            "properties": {
              "category": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "company": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "locations": {
                "description": "Where the job may be done, e.g. 'USA - East'",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "published": {
                "description": "Publication timestamp (ISO 8601)",
                "type": [
                  "string",
                  "null"
                ]
              },
              "tags": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "title": {
                "type": "string"
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "title",
              "url"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "query": {
          "type": "string"
        }
      },
      "required": [
        "query",
        "jobs"
      ],
      "type": "object"
    },
    "value": "{query: params.query, jobs: map(&{title: title, company: company || `null`, category: category_name || `null`, locations: locations || `[]`, published: pub_date || `null`, tags: tags || `[]`, url: join('', ['https://www.workingnomads.com/jobs/', slug])}, steps.search.jobs[?title != `null` && slug != `null` && expired != `true`] || `[]`)}"
  },
  "params": {
    "additionalProperties": false,
    "properties": {
      "query": {
        "description": "Job title, skill or keyword, e.g. 'developer', 'marketing', 'customer support'",
        "maxLength": 100,
        "minLength": 2,
        "type": "string"
      }
    },
    "required": [
      "query"
    ],
    "type": "object"
  },
  "provenance": {
    "method": "har",
    "notes": "The jobs page loads its list from an Elasticsearch index (jobsapi) on the site's own host. One plain GET to /jobsapi/_search?q=<query>&size=20 answers 200 JSON with hits.hits[]._source (title, company, category_name, locations, pub_date, tags, slug). Listing URLs are /jobs/<slug>, which answered 200 for a sample job. The apply link is an external ATS and is not returned.",
    "recorded_at": "2026-11-08T17:25:00.000Z",
    "recorded_by": "wield-forge (claude-haiku agent)"
  },
  "requires_login": false,
  "schema": "https://wield.run/schema/recipe/v1.json",
  "site": {
    "country": "US",
    "id": "workingnomads.com",
    "language": "en",
    "name": "Working Nomads",
    "origin": "https://www.workingnomads.com",
    "origins": [
      "https://www.workingnomads.com"
    ]
  },
  "steps": [
    {
      "description": "Read-only GET to the jobs search index the site's jobs page uses (elasticRootUrl + /jobsapi/_search, index jobsapi), with q and size. Each hit's _source holds the job fields.",
      "expect": {
        "content_type": "json",
        "status": [
          200
        ]
      },
      "extract": {
        "json": {
          "jobs": "hits.hits[*]._source"
        }
      },
      "id": "search",
      "request": {
        "headers": {
          "Accept": "application/json"
        },
        "method": "GET",
        "query": {
          "q": "{{params.query}}",
          "size": "20"
        },
        "url": "/jobsapi/_search"
      }
    }
  ],
  "task": "Search remote jobs on Working Nomads",
  "tos": {
    "notes": "Not reviewed. One search page per call, the same page a visitor loads. The site's terms on automated access were not checked.",
    "reviewed": false
  },
  "verify": {
    "checks": [
      "length(output.jobs) > `0`",
      "length(output.jobs[?title != `null`]) == length(output.jobs)",
      "length(output.jobs[?starts_with(url, 'https://www.workingnomads.com/jobs/')]) == length(output.jobs)"
    ],
    "example_params": {
      "query": "developer"
    },
    "max_ms": 5000
  },
  "version": 1
}