Guides

Search URLs for browsers and assistants

Stable HTML and Markdown job-search links, with plain-language filters and no JavaScript or API key required.

Use https://trawle.com/jobs for server-rendered HTML, or https://trawle.com/jobs.md for Markdown. Both return the same search results, applied filters, data date and ordinary next-page links. No account, API key, JavaScript or MCP connection is required.

Text
https://trawle.com/jobs?q=react&location=copenhagen&remote=true&seniority=senior&posted_within=1d
https://trawle.com/jobs.md?role=frontend-engineer&where=2618425&workplace=remote

This is a stable public contract: existing parameter meanings are preserved. Extensions are additive; incompatible changes require a new version. The interactive website's compact search filters remain supported. Discovery starts at trawle.com/llms.txt.

Parameters

Lists use commas. Values within a filter are OR; different filters are AND. URL-encode spaces and special characters.

ParameterMeaning
qTitle/department or company text, 2–100 characters. It is not a natural-language instruction.
location or wherePlace names, aliases, ISO country codes or GeoNames IDs. Examples: copenhagen, DK, 2618425, europe, -3. Up to 20 values.
roleRole slug, name, common job-title alias or taxonomy ID. Examples: frontend-engineer, Frontend Engineer, React Developer, 2.
fieldJob-family slug, name or taxonomy ID. Example: software-engineering.
remotetrue means remote; false means onsite or hybrid. Omit for any workplace.
workplaceremote, hybrid, onsite, or a comma-separated list.
seniorityintern, entry, mid, senior, lead, principal, director, vp, executive.
typefull_time, part_time, contract, temporary, internship, apprenticeship, seasonal, volunteer.
companyCompany slugs. Find them with company search.
collectionCompany collection slugs, such as yc.
langPosting languages: en,de,fr,es,nl,pt,it,da,sv,no,fi,pl,ja,zh.
salaryAnnual salary range, e.g. 60000-, -90000 or 60000-90000.
currencyCurrency for salary: USD (default), EUR, GBP, DKK, SEK, NOK, CAD, AUD, CHF. Requires salary.
paylisted requires listed pay.
posted_within or posted1d, 3d, 7d, 30d. Based on when Trawle first saw a job, not its employer's posting date.
repostshide for originals or only for reposts; omitted includes both.
agenciesinclude or only. Known agencies are excluded by default, except explicitly named companies.
sortnewest (default) or pay. Newest uses the employer's posting date, falling back to first seen.
limitJobs per page, 1–100; default 25.
cursorOpaque value in the returned next-page link. Keep all other filters unchanged.

saved is accepted for compatibility but never loads a private saved search. Its filters must be included in the URL. Unknown parameters, invalid values, repeated parameters and conflicting aliases are errors. An empty value means the filter is unset.

Names are resolved locally against the bundled gazetteer and taxonomy, without an LLM or Google Maps request. Unknown place names are errors. Ambiguous names such as London return candidate IDs; use the place lookup to select the intended one. For example, London, UK is where=2643743; London, Ontario is where=6058560. Names and aliases can evolve with the bundled data; IDs and slugs are the reproducible form. Returned links use resolved IDs/slugs.

Reading results correctly

  • Read Applied filters before describing a search. Place labels include the resolved country and ID.
  • A location matches jobs in that place or remote jobs open to people living there. remote=true does not mean worldwide eligibility. Each result reports its remote scope when known.
  • Only open, published jobs are included; withheld postings and superseded-board duplicates are excluded.
  • The data date says when the dataset was refreshed. It is not the date you requested the page. Data refreshes daily.
  • Match counts stop at 10,000+. Follow the Next page link to continue; an empty page is a valid result. HTML pagination works without JavaScript.
  • Results include employer application links, Trawle detail links, location, pay when listed, first/last-seen dates and repost counts. Full employer descriptions are not included in Markdown.
  • Keep Data by Trawle attribution and the employer application links when sharing results.

Markdown responses use text/markdown, support HEAD and ETag/304, and may be CDN-cached for up to five minutes. Invalid Markdown requests return HTTP 400; the HTML page explains the error. Neither queries jobs with invalid filters. Results are crawlable but marked noindex, follow. Markdown requests use the existing public rate limit.

For daily automation, use RSS feeds or incremental JSON search. HTML/Markdown pages are browsing snapshots, not transactional exports: jobs can change between pages.