indeed-skills
Agent skills for live Indeed job postings data. Search roles, salaries, and descriptions from Claude, ChatGPT, Cursor, or any agent loop via the RolesAPI REST API.
Documentation
indeed-skills: Indeed job postings API skills for AI agents
Agent skills for live Indeed job postings data. Three drop-in skills that give Claude, ChatGPT, Cursor, or any custom agent loop a job postings API: search Indeed listings by keyword and location, fetch normalized role details, and look up salaries, descriptions, company info, and benefits over the RolesAPI REST API. If you have been looking for an Indeed API or an Indeed data API alternative that returns clean JSON, this is the fastest way to wire jobs data into an AI agent.
Free to start. Grab a key (100 credits at signup, no card required) and you are searching live job postings from your agent in under two minutes.
Pure Python standard library. No dependencies. MIT-0 licensed.
Install
# OpenClaw (via ClawHub)
npx clawhub@latest install indeed-full
# Hermes Agent
hermes skills install skills-sh/nikhonit/indeed-skills/skills/indeed-full
# Generic agent skills (Claude Code, Cursor, Cline)
npx skills add nikhonit/indeed-skillsSwap `indeed-full` for `indeed-search` or `indeed-salary` to install a focused variant.
Skills in this repo
| Skill | What it does | Credit cost |
|---|---|---|
| `indeed-full` | Complete toolkit: search listings, full role details by job key or pasted URL, salary, description, company, and benefits slices, account check | 1 credit per call |
| `indeed-search` | Lightweight search: listings by keyword and location, plus posted-today, posted-this-week, and remote-only presets | 1 credit per results page |
| `indeed-salary` | Salary-only lookups by job key or pasted Indeed URL | 1 credit per lookup |
Install `indeed-full` for agents that need broad coverage. Install the focused variants when you want minimum tool surface.
Quickstart
1. Sign up at rolesapi.com and create a key at rolesapi.com/app/keys. The free plan includes 100 credits, no card required.
2. Export the key and run a script:
export ROLESAPI_KEY="rk_live_..."
python3 skills/indeed-search/scripts/search_listings.py "registered nurse" "Chicago, IL"Real output, trimmed to one of the 35 results:
{
"data": [
{
"job_key": "7dcf172c8d7fc756",
"title": "Nursing",
"company": { "name": "Golden Healthcare Services Inc" },
"location": "Olympia Fields, IL 60461",
"employment_type": "Full-time",
"salary": { "min": 30, "max": 45, "period": "hour", "currency": "USD", "source": "employer" },
"posted_at": "2026-06-26",
"url": "https://www.indeed.com/viewjob?jk=7dcf172c8d7fc756"
}
],
"meta": { "count": 35 },
"request_id": "a18e4ef88ad4b00b"
}Feed any `job_key` into the detail scripts:
python3 skills/indeed-full/scripts/get_role.py 7dcf172c8d7fc756
python3 skills/indeed-salary/scripts/get_salary.py 7dcf172c8d7fc756Full walkthrough: rolesapi.com quickstart.
Works with
- Claude Code / Claude Skills: drop a skill folder into your skills directory and Claude picks it up from the SKILL.md.
- ChatGPT and custom GPTs: call the scripts from a code interpreter or wrap them as actions.
- Cursor, Cline, and other coding agents: the scripts are plain CLI tools, so any agent that can run Python can use them.
- Any agent loop: each script is a self-contained stdin-free CLI that prints JSON, easy to shell out to from Node, Go, or Rust.
- Zero-install option: RolesAPI ships a hosted MCP server at `https://api.rolesapi.com/mcp`. Point your MCP client at it and skip the scripts entirely.
There is also an llms.txt (and llms-full.txt) if you want to hand the whole API surface to a model.
What you get back
Normalized role objects across 60+ Indeed country editions: title, company with rating, location, employment type, salary (min, max, currency, period, employer vs estimate), benefits, full description, posted date, and canonical URL. Every response is an envelope of `{ "data": ..., "request_id": "..." }`. See the roles API docs, search API docs, listings API docs, and the OpenAPI spec.
For bulk work, the API also offers async search and batch enrichment of up to 500 postings per job, with completion events delivered via signed webhooks.
Authentication
Set the `ROLESAPI_KEY` environment variable to your RolesAPI key (format `rk_live_...`).
export ROLESAPI_KEY="rk_live_..."**Get a free key**: 100 credits at signup, no card required. The same key works for these skills, the hosted MCP server, and direct REST calls.
Pricing
| Plan | Price | Credits | Rate limit |
|---|---|---|---|
| Free | $0 | 100 (one time at signup) | 20/min |
| Monthly | $5/mo | 1,000/month | 200/min |
| Annual | $54/yr | 12,000 upfront | 300/min |
One credit equals one role detail or one search results page. Failed calls are not charged. Full pricing: rolesapi.com/pricing.
FAQ
How do I get Indeed job postings as JSON?
Sign up at rolesapi.com, export `ROLESAPI_KEY`, and call `GET /v1/listings?keyword=...&location=...` (or run `search_listings.py` from this repo). You get back normalized JSON role summaries with job keys for follow-up detail calls.
Is there a free Indeed jobs API?
The RolesAPI free plan includes 100 credits at signup with no card required, enough for 100 searches or role lookups. Paid plans start at $5/month for 1,000 credits.
How much does it cost?
1 credit per role detail or search results page. $5/month for 1,000 credits, or $54/year for 12,000. Failed calls are not charged.
Does this work outside the United States?
Yes. Pass `--country` (for example `gb`, `de`, `in`) to search any of the 60+ Indeed country editions.
Can I get the salary for a specific Indeed posting?
Yes. `GET /v1/roles/{job_key}/salary` returns min, max, currency, period, and whether the figure came from the employer or an estimate. The `indeed-salary` skill wraps exactly this, and also accepts a pasted Indeed URL.
Can my agent use this without installing anything?
Yes. Point an MCP client at the hosted server, `https://api.rolesapi.com/mcp`, and the same search and role tools are available with zero install.
Is this an official Indeed API?
No. RolesAPI is an independent product. See the disclaimer below.
Issues and contributions
See CONTRIBUTING.md. Security reports: SECURITY.md.
License
MIT No Attribution. Fork, ship, sublicense. No attribution required.
Disclaimer
RolesAPI is an independent product and is not affiliated with, endorsed by, or sponsored by Indeed. Indeed is a trademark of its owner.
Frequently asked questions
What is indeed-skills?
indeed-skills is Agent skills for live Indeed job postings data. Search roles, salaries, and descriptions from Claude, ChatGPT, Cursor, or any agent loop via the RolesAPI REST API.
How do I install indeed-skills?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is indeed-skills open source?
Yes — it is hosted on GitHub at https://github.com/nikhonit/indeed-skills.
Related MCP tools
Cut AI token costs 95%+ on code exploration. The leading MCP server for precise, symbol-level GitHub code retrieval via tree-sitter AST. Works with Claude Code, Cursor & any MCP client. 313B+ tokens saved.
Open-source coding agent memory. Records issues, attempts, fixes and decisions, then warns your agent before it repeats an approach that already failed. Native MCP server for Claude Code, Cursor, Antigravity and Codex. 100% local, no cloud, no telemetry. MIT.
AI Skills, MCP Tools, and CLI for Unity Engine. Full AI develop and test loop. Use cli for quick setup. Efficient token usage, advanced tools. Any C# method may be turned into a tool by a single line. Works with Claude Code, Gemini, Copilot, Cursor and any other absolutely for free.
Expose your FastAPI endpoints as Model Context Protocol (MCP) tools, with Auth! Python-based implementation. Trusted by 11000+ developers.
Control Gmail, Google Calendar, Docs, Sheets, Slides, Chat, Forms, Tasks, Search & Drive with AI - Comprehensive Google Workspace MCP Server & CLI Tool
MCP server and Claude plugin for Postgres skills and documentation. Helps AI coding tools generate better PostgreSQL code.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP