Turn Indeed into a REST + MCP endpoint
Writ turns the Indeed actions you already do in a browser into a callable REST endpoint your software (and your AI agents) can call.
curl -X POST https://api.usewrit.app/v1/indeed/run \
-H "Authorization: Bearer wt_8f2c...a91" \
-H "Content-Type: application/json" \
-d '{ "input": { "query": "your search term" } }' No Indeed API yet? Build one in minutes
Record the Indeed task once (search a role, then open a posting) and call it as a REST endpoint and an MCP tool. No backend project, no waiting on Indeed to ship an API.
- 1Record the Indeed task once
Open the recorder and search a role on Indeed in a real browser. Writ captures each step, including login and 2FA, into a reusable workflow.
- 2Publish it as an endpoint
One click turns the workflow into a callable REST endpoint at /v1/indeed/run and a matching MCP tool. Inputs become a typed schema.
- 3Call it from anything
Call Indeed from your code, a no-code tool, or an AI agent. Run it on your own machine for free, or on metered cloud.
Read the REST API docs, see what's possible on workflows, or search for another site. Free to start. See pricing.
Indeed doesn't give you the endpoint you need
Indeed has no general public API for the storefront actions most teams need. Indeed's publisher API was deprecated for most use cases, leaving no general API for job search results.
Writ closes that gap. Record the Indeed task once (or describe it to an AI session) and publish it as a REST endpoint at /v1/indeed/run and a matching MCP tool. Writ runs on your own accounts, with your own credentials and data, on sites you are authorized to use.
What you can call on Indeed
Each operation below is a real Indeed action recorded into a workflow and exposed as a typed endpoint.
Returns structured fields such as job title, company, location, salary range: typed JSON, not raw page text.
A real Indeed endpoint, authorized with a wt_ key
POST your inputs, get structured output. Authenticate every call with a scoped wt_ key.
curl -X POST https://api.usewrit.app/v1/indeed/run \
-H "Authorization: Bearer wt_8f2c...a91" \
-H "Content-Type: application/json" \
-d '{ "input": { "query": "your search term" } }' import requests
r = requests.post(
"https://api.usewrit.app/v1/indeed/run",
headers={"Authorization": "Bearer wt_8f2c...a91"},
json={"input": {"query": "your search term"}},
)
print(r.json()["output"]) {
"run_id": "run_inde_7b21",
"status": "succeeded",
"output": {
"job_title": "...",
"company": "...",
"location": "..."
}
} Also an MCP tool. The same workflow is exposed as an MCP tool your AI agent can call. See Indeed MCP tools, or browse all MCP clients.
Login, 2FA, and dynamic pages on Indeed
The reason Indeed has no usable API is the same reason it's hard to automate. Writ handles it.
Job search results are public; Writ renders the page to capture postings that load dynamically.
Three ways to build your Indeed endpoint
Pick whichever fits the task. All three produce the same callable workflow.
Built on the same engine as the recorder and workflows.
Trigger your Indeed endpoint on a change
Monitor Indeed for new posting for a query, salary change and fire this endpoint the instant something changes.
Monitors check as fast as every 10s (10s on Enterprise). A detected change becomes an automation trigger that runs your workflow in seconds. Monitor Indeed ▸
Free on your own machine, or on cloud
Local / BYO agent
No compute charge. The agent runs on your hardware, so it can reach Indeed even from an intranet or VPN-only network, and your AI keys never leave your machine.
Writ cloud
Metered by running time at $0.12 per browser-hour, drawn from your plan’s included usage. No infrastructure to manage.
Other ways to work with Indeed
Indeed API questions
Does Indeed have an API?
Is there a ready-made Indeed API I can use?
Is it allowed to automate Indeed this way?
Does this work with Indeed login and 2FA?
Can I run it on my own machine?
Build a Indeed API
Record it once, then call it from your software and your AI agents. Get started free.