Search job postings, as a skill your agent installs.
Install
How do I install this skill?
Two steps. Set up looot once, then save this skill file where your agent reads skills.
1. Set up looot once
set up looot - https://looot.ai/skill.mdWorks in Claude Code, Cursor, Codex and ChatGPT through MCP. Searching and inspecting are free.
2. Save the skill
mkdir -p ~/.claude/agent-skills/looot-job-postings && curl -fsSL https://looot.ai/agent-skills/job-postings/SKILL.md -o ~/.claude/agent-skills/looot-job-postings/SKILL.mdOr open the raw SKILL.md and drop it into the skills folder of your own agent.
When it starts
What do I say to start this skill?
Any of these starts it. The agent asks for what is missing, nothing more.
- Example promptfind data engineer jobs in Berlin
- Example promptwhat is this company hiring for
- Example promptlist open roles for sales managers in London
It asks for
- A job title and a location, or a company
It hands back
- Job title
- Company and domain
- Location
- Posted date and link
- Salary when the provider has it
List title, company, location, posted date and link. Say how old the newest posting is.
How it runs
What does the agent do when it runs?
Four moves, in this order, with the price known before any money moves.
Step 1
Discover
looot discover finds the endpoints that match the task. It is free.
Step 2
Inspect
looot inspect shows the price and the exact input before anything is spent. It is free.
Step 3
Run
looot run executes the call with an idempotency key, so a retry never charges twice. The agent reads the run status, not the HTTP code.
Step 4
Fall back
On a provider error or a timeout the agent tries the next endpoint in the skill, cheapest first. It never retries a bad input elsewhere.
The file
What is inside the SKILL.md?
The whole file, as your agent reads it. No price is written in it: the agent reads the live price with looot inspect.
---
name: looot-job-postings
description: Search job postings. Use when the user says things like "find data engineer jobs in Berlin", "what is this company hiring for" or "list open roles for sales managers in London". Runs through looot, billed per call.
---
# Search job postings
Job postings API for an agent: it sends a job title and a location, or a company to a catalog endpoint and reads job title, company and domain back. Several providers sell the call, so the agent tries the cheapest first. You pay per call, and a failed call costs nothing.
This skill needs the looot skill set up first: https://looot.ai/skill.md
## Ask for these inputs
The job takes a job title and a location, or a company. Example: data engineer in Berlin.
- A job title and a location, or a company
## Run it
1. Find the endpoint: `looot discover --mode auto --query "job postings"`. The endpoints listed below are the known matches.
2. Read the price and the input schema before spending: `looot inspect <endpoint-id>`. Tell the user the price, then run.
3. Run it: `looot run anyapi-run-linkedin-jobs-thin --input '{"query":"data engineer","location":"Berlin"}' --idempotency-key <new-key> --wait`. Reuse the same key only to retry the same request.
4. Read the run's `status` and `error`, not the HTTP status. A run can return `failed` with a normal response.
5. If a run fails with a provider error or times out, try the next endpoint from the list below, cheapest first. If it fails on your input (a 4xx style error), fix the input. Do not retry it on other providers.
## Endpoints
Each endpoint reads the same job from a different provider. They differ in inputs, fields and price. Run `looot inspect` on the ones that take the input you hold, start with the cheapest, and move to the next on a provider error.
- `anyapi-run-linkedin-jobs-thin`: returns a thin index of title, company, location, posted date and URL, with a flat price per request
- `anysite-api-linkedin-search-jobs`: filters by keywords, location, company, industry, job type, work type and experience level
- `theirstack-jobs-search`: searches postings from company career sites and job boards, and returns the company domain, cities, salary and the date a posting closed
- `sumble-jobs`: returns the fields you select from a jobs search, with filters, a limit and an offset
## What comes back
- Job title
- Company and domain
- Location
- Posted date and link
- Salary when the provider has it
## Answer rule
List title, company, location, posted date and link. Say how old the newest posting is.
## Before you start
- Decide whether you need the description. The thin index has none, and a second call per posting costs more than a deeper provider would have.
- Set a result limit. Several of these providers bill per result, so an open query on a common title gets expensive fast.
- Dates matter. Ask for a posting window, because a posting that closed last year says little about this quarter.
## Cost rules
- Searching and inspecting are free. Running is billed per call at the price `looot inspect` shows.
- Say the price before the first run, and the total after a batch.
- Never loop a failing call. Stop after two failures and report what failed.
## When not to use this skill
Use `looot-company-list-builder` instead when you want companies that match a profile, not the roles they post.
Page for people: https://looot.ai/agent-skills/job-postings
Wrong fit
When should I use a different skill?
Use Build a company list when you want companies that match a profile, not the roles they post.
FAQ
What do people ask about this skill?
The same job as a page with the full price ladder: Job postings API for AI agents. Updated 2026-10-04.
- skill
- looot-job-postings
- file
- https://looot.ai/agent-skills/job-postings/SKILL.md
- difficulty
- easy
- input
- a job title and a location, or a company
- endpoint
- anyapi-run-linkedin-jobs-thin
- endpoint
- anysite-api-linkedin-search-jobs
- endpoint
- theirstack-jobs-search
- endpoint
- sumble-jobs
- setup
- https://looot.ai/skill.md
- llms.txt
- https://looot.ai/llms.txt
- updated
- 2026-10-04
Try this skill with your own agent.
Start your workspace, top up, and save the skill where your agent reads it.