SuperAPI AI Directory

indeed-research

Data & analytics

View repository

Updated 10-15 20:29

About this skill

Indeed job search

Search Indeed job postings by keyword and location, resolve a valid location string via autocomplete, and pull the full detail of a single posting — all as normalized JSON from the Crawlora API, no scraping indeed.com by hand.

When to use this skill

  • "Search for jobs in on Indeed."
  • "What's the right Indeed location string for <partial city/area>?"
  • "Pull the full detail for this Indeed job (job key )."
  • "Find recent postings on Indeed within the last N days."
  • "Page through Indeed search results for ."

Setup (one-time)

  • Get a free Crawlora API key (2,000 credits/mo, no card) at https://crawlora.net.
  • Set CRAWLORA_API_KEY in the environment before running the helper.
  • The helper reads CRAWLORA_API_KEY from the environment and sends requests to https://api.crawlora.net/api/v1. Missing/invalid key → 401.

How it works

  1. Resolve a location (optional but recommended) — /indeed/locations/suggest takes a partial location string (q) and returns Indeed's own autocomplete suggestions, the same ones the app's search bar offers, so you can build a valid l value for search instead of guessing.
  2. Search — /indeed/search takes keywords (q, required) plus optional l (location), radius, fromage (only jobs posted within the last N days), sort (relevance or date), and page for pagination. Each result includes a job_key for pulling full detail.
  3. Job detail — /indeed/job takes jk (the 16-character hex job key from a search result) and returns the full posting.

Full endpoint list, methods, and params: reference/endpoints.md.

Calling the API

# Resolve a location string:
scripts/crawlora.sh /indeed/locations/suggest q="san fran" | jq '.'

# Search:
scripts/crawlora.sh /indeed/search q="staff engineer" l="San Francisco, CA" fromage=7 sort=date | jq '.'

# Job detail (jk from a search result):
scripts/crawlora.sh /indeed/job jk=abcdef0123456789 | jq '.'

Use scripts/crawlora.sh for all requests; it keeps the API key out of command-line arguments.

Endpoint reference

See reference/endpoints.md for all Indeed endpoints this skill uses.

Examples

  • Role search with a fuzzy location: /indeed/locations/suggest on the user's rough city name to get a valid l value, then /indeed/search with that value plus q and sort=date for the newest postings first.
  • Enrich a search result: run /indeed/search, take the job_key off any hit, and call /indeed/job to pull the full description, salary, and application details for that one posting.

Notes & limits

  • Credits / pay-on-success: billed only on 2xx; free tier 2,000 credits/mo. Key at https://crawlora.net.
  • Public data only — public Indeed postings; respect Indeed's terms.
  • Security: key lives in CRAWLORA_API_KEY only — never hardcode, query-param, or commit it.
  • page 2+ and fromage fall back to a slower page-based transport — page 1 with no fromage uses Indeed's fast credential-free GraphQL API; requesting page 2+ or filtering by fromage switches transports, with the same normalized response shape either way.
  • Location autocomplete has no page-based fallback — /indeed/locations/suggest is GraphQL-only, so it can fail independently of search/job-detail.
  • Results are paginated on /indeed/search — pass page to walk the full list.