Trawle Job Search — Employer-Sourced Jobs API avatar

Trawle Job Search — Employer-Sourced Jobs API

Under maintenance

Pricing

Pay per usage

Go to Apify Store
Trawle Job Search — Employer-Sourced Jobs API

Trawle Job Search — Employer-Sourced Jobs API

Under maintenance

Search 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

Trawle

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Features

Limited permissions

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

  1. Choose a keyword and optional location. Select Remote if that is the workplace you want.
  2. Start with 20 results to check relevance.
  3. Run the Actor. Open Jobs to inspect the results or export JSON, CSV or Excel.
  4. 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

FieldMeaningDefault
keywordWords in the title, department or company name, using word-prefix matchingNo keyword filter
locationExact place name, such as Denmark or CopenhagenNo location filter
workplaceany, remote, hybrid, onsiteany
seniorityany, intern, entry, mid, senior, lead, principal, director, vp, executiveany
employmentany, full_time, part_time, contract, temporary, internship, apprenticeship, seasonal, volunteerany
postedWithinFirst seen by Trawle within 1d, 3d, 7d, 30d, or anyany
maxItemsMaximum unique job IDs to export, from 1 to 50050
placeIdsGeoNames integer IDs instead of locationUnset
postedSinceISO UTC timestamp for an incremental searchUnset
cursorContinuation cursor, with identical filtersUnset
windowStartedAtTimestamp carried by continuationInput; do not invent itUnset

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, currency and period as supplied by the employer.
  • firstSeenAt, lastSeenAt, postedAt, openSince, repostCount, closedAt.
  • applyUrl for the original employer posting and url for the job on Trawle.
  • dataDate from the API, this export's retrievedAt, and attribution.

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

  1. Run your search. If hasMore is true, use the entire continuationInput object as the input to the next run. This retains the filters and original search-window timestamp.
  2. Repeat until hasMore is false. nextSince remains null while there are unexported pages.
  3. Save the final non-null nextSince. For the next daily search, use your original filters with that value as postedSince, removing cursor, windowStartedAt and postedWithin.
  4. 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.