Trawle Job Search — Employer-Sourced Jobs API
Under maintenancePricing
Pay per usage
Trawle Job Search — Employer-Sourced Jobs API
Under maintenanceSearch employer-sourced jobs by keyword, location, remote work, seniority and employment type. Export structured jobs with salaries when available, original application links and checked dates. Official Trawle integration; no Trawle API key needed.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Trawle
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Features
Share
Search jobs from Trawle and export structured results into your workflow. Filter by job-title or company keywords, where you want to work from, remote/hybrid/onsite work, seniority, employment type and when Trawle first saw a listing.
This is the official Trawle integration. It queries Trawle's existing job index through the public API, with no Trawle account or API key required.
What can you do with it?
- Build a weekly jobs shortlist for a professional community or newsletter.
- Export matching jobs into Google Sheets, Airtable or a recruiting research workflow.
- Feed a career assistant with job titles, employer application links and available salary data.
- Monitor matching jobs once a day and deduplicate results using stable job IDs.
Quick start
- Choose a keyword and optional location. Select Remote if that is the workplace you want.
- Start with 20 results to check relevance.
- Run the Actor. Open Jobs to inspect the results or export JSON, CSV or Excel.
- Open Search and pagination for match counts and continuation information.
Remote software roles from Denmark
{"keyword": "software","location": "Denmark","workplace": "remote","maxItems": 20}
Senior data analyst roles
{"keyword": "data analyst","seniority": "senior","maxItems": 50}
Remote customer support jobs first seen this week
{"keyword": "support","workplace": "remote","postedWithin": "7d","maxItems": 50}
Input
| Field | Meaning | Default |
|---|---|---|
keyword | Words in the title, department or company name, using word-prefix matching | No keyword filter |
location | Exact place name, such as Denmark or Copenhagen | No location filter |
workplace | any, remote, hybrid, onsite | any |
seniority | any, intern, entry, mid, senior, lead, principal, director, vp, executive | any |
employment | any, full_time, part_time, contract, temporary, internship, apprenticeship, seasonal, volunteer | any |
postedWithin | First seen by Trawle within 1d, 3d, 7d, 30d, or any | any |
maxItems | Maximum unique job IDs to export, from 1 to 500 | 50 |
placeIds | GeoNames integer IDs instead of location | Unset |
postedSince | ISO UTC timestamp for an incremental search | Unset |
cursor | Continuation cursor, with identical filters | Unset |
windowStartedAt | Timestamp carried by continuationInput; do not invent it | Unset |
The Console's example input selects remote work and 20 results; omitted API inputs use the defaults above. Different filters are ANDed. Keywords do not search full descriptions or every mentioned skill. Recruitment/staffing agencies are excluded by the underlying search by default.
Locations and unknown fields
An exact country or region takes precedence over a same-named city (for example, Denmark).
Other ambiguous place names produce an error listing candidate IDs. Replace location with,
for example, "placeIds": [2623032] for Denmark. You can also
look up places. Remote does not mean worldwide; verify
residence, timezone, visa and other requirements on the employer's page before applying.
Specific seniority/employment filters exclude jobs without those classifications. Missing salary,
role, workplace or posting-date data stays null; the Actor does not guess missing values.
Output
Each dataset row retains the public API's job summary:
- Stable UUID
id,title,company(name, slug, domain, agency classification). - Normalized
role,family,locations,workplace,remoteScope,seniority,employmentType. salary, when available:min,max,currencyandperiodas supplied by the employer.firstSeenAt,lastSeenAt,postedAt,openSince,repostCount,closedAt.applyUrlfor the original employer posting andurlfor the job on Trawle.dataDatefrom the API, this export'sretrievedAt, andattribution.
Full employer descriptions are not part of this export. Follow the source link to read the posting. Job summaries use the same contract as Trawle's OpenAPI specification.
The OUTPUT key-value record contains resultCount, total, totalCapped, the resolved query,
freshness metadata, hasMore, nextCursor, nextSince and continuationInput.
total is capped at 10,000 when totalCapped is true; it is not the export size.
Pagination and daily workflows
- Run your search. If
hasMoreis true, use the entirecontinuationInputobject as the input to the next run. This retains the filters and original search-window timestamp. - Repeat until
hasMoreis false.nextSinceremains null while there are unexported pages. - Save the final non-null
nextSince. For the next daily search, use your original filters with that value aspostedSince, removingcursor,windowStartedAtandpostedWithin. - Deduplicate across runs by
id. The timestamp boundary is inclusive, and the live index can change between pages. Only the IDs within one run are deduplicated automatically.
A bare cursor without its original window timestamp cannot safely advance an incremental
watermark: nextSince will retain postedSince, or be null for a full-index search. Prefer the
provided continuationInput. Each run has a 500-result cap and a 10-page safety ceiling, and reports
remaining pages explicitly. The Actor does not persist a user's search window across scheduled runs.
For a simple daily schedule, a rolling postedWithin: "3d" window plus downstream ID deduplication
is also useful. Such a fixed rolling window does not guarantee catch-up after a long outage.
Freshness and reliability
Trawle's collection pipeline runs daily. Running this Actor retrieves the existing index; it does
not trigger fresh employer crawls. retrievedAt is not an employer check, firstSeenAt is not
necessarily the employer's publication date, and lastSeenAt shows the last observed open state.
Jobs can close between checks. The Actor does not certify that an employer is actively hiring.
Requests are serial, paced and retried for transient failures. An upstream failure or invalid response fails the run rather than presenting an incomplete search as complete. Zero matching jobs is a valid successful result; try a broader keyword or fewer filters.
Pricing
No additional Actor fee. You pay Apify's standard platform usage for compute and storage under your Apify plan. The Actor uses 256 MB of memory, no browser and no proxies. There is no Trawle API key or paid Trawle plan to configure.
Integration and attribution
Run through the Apify Console, REST API, JavaScript/Python clients or Apify's MCP integration. Use the listing's API tab for generated examples. Outputs can be connected to other workflows through Apify datasets and webhooks. Please retain the original employer link and credit Data by Trawle when publishing results.
For direct API access and RSS feeds, visit developers.trawle.com. For bugs or feature requests, open an issue on this Actor's Issues tab with the input and run URL.