{"description":"Searches Jobware German job board like its job search page: job title, link, employer and the label line with employment type and work model (e.g. Vollzeit, Home-Office), for the first results page (about 20 listings). Returns an empty list when nothing matches.","effect":"read","id":"jobware.de/search-jobs","keywords":["jobware","jobs","stellen","stellenangebote","stellenmarkt","job","karriere","arbeit","deutschland","germany","vacancy","career","bewerbung"],"output":{"schema":{"properties":{"jobs":{"items":{"properties":{"employer":{"type":["string","null"]},"tags":{"description":"Employment type, work model and salary note as the card shows them","type":["string","null"]},"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: steps.search.jobs[?title != `null` && href != `null`].{title: title, url: join('', ['https://www.jobware.de', href]), employer: employer || `null`, tags: tags || `null`}}"},"params":{"additionalProperties":false,"properties":{"query":{"description":"Job title or keyword in German, e.g. 'Softwareentwickler', 'Buchhalter', 'Krankenpfleger'","maxLength":100,"minLength":2,"type":"string"}},"required":["query"],"type":"object"},"provenance":{"method":"har","notes":"GET /jobs?q=…: the HTML holds one card per job (article.card) with the title in h2, the employer in .job-card__advertiser-name and the detail link /job/…. The page has no JSON-LD. The tags field keeps the card's label text (employment type, work model, salary note). The place is not in the labels and is not read. Cards are the normal result list.","recorded_at":"2026-11-08T16:37:01.000Z","recorded_by":"wield-forge (claude-haiku agent)"},"requires_login":false,"schema":"https://wield.run/schema/recipe/v1.json","site":{"country":"DE","id":"jobware.de","language":"de","name":"Jobware","origin":"https://www.jobware.de","origins":["https://www.jobware.de"]},"steps":[{"description":"Server-rendered job search page /jobs?q=…, read-only GET. Each listing is an article.card with the title in h2, the employer in .job-card__advertiser-name and a link to /job/….","expect":{"assert":"status == `200` && contains(body, 'job-card')","content_type":"html","status":[200]},"extract":{"html_items":{"jobs":{"fields":{"employer":{"selector":".job-card__advertiser-name"},"href":{"attr":"href","selector":"a[href^='/job/']"},"tags":{"selector":".job-card__labels"},"title":{"selector":"h2"}},"max":60,"selector":"article.card"}}},"id":"search","request":{"headers":{"Accept":"text/html"},"method":"GET","query":{"q":"{{params.query}}"},"url":"/jobs"}}],"task":"Search job listings on Jobware","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[?starts_with(url, 'https://www.jobware.de/job/')]) == length(output.jobs)","length(output.jobs[?title != `null`]) == length(output.jobs)"],"example_params":{"query":"Softwareentwickler"},"max_ms":5000},"version":1}