Authentic Jobs Scraper: Design, Dev, Creative Jobs avatar

Authentic Jobs Scraper: Design, Dev, Creative Jobs

Pricing

from $1.62 / 1,000 listing returneds

Go to Apify Store
Authentic Jobs Scraper: Design, Dev, Creative Jobs

Authentic Jobs Scraper: Design, Dev, Creative Jobs

Scrape design, developer and creative tech job listings from Authentic Jobs (authenticjobs.com) by keyword, location, category and job type. One row per listing: title, company, location, job type, salary when stated, posting date and link. No login.

Pricing

from $1.62 / 1,000 listing returneds

Rating

0.0

(0)

Developer

Pradio Actors

Pradio Actors

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Share

What does Authentic Jobs Scraper do?

Authentic Jobs Scraper returns the live design, development and creative-tech job listings on authenticjobs.com, one row per listing, with the salary the employer states. Type a search term, press Start, and each row carries the title, company, location, job type, posting date, category, salary range when the posting names one, and the link. A search for designer returned 12 listings, 7 of them with a stated salary. The board's search matches more than titles, so those 12 include engineering roles such as Software Engineer. The board also lists marketing, sales, customer support, operations, product management and copywriting roles, and a search returns those too.

Who uses Authentic Jobs Scraper

WhoWhat they run it for
Recruiters and sourcersWatch the board's design and engineering roles and the pay ranges employers publish.
Job aggregatorsAdd a curated design-and-dev board to a feed, in the same row shape as other boards.
Salary researchersCollect the stated ranges for creative and technical roles at named companies.
Agents and pipelinesAsk for one keyword and read rectangular rows instead of parsing the board's pages.

Features

  • Search the way the board does. keyword and location go to the board's own search, newest listings first.
  • Stated salary as numbers. When a posting names a range, such as $148,000 to $166,500, the row carries the minimum, the maximum and the currency.
  • A category on every row the board tags. The board's category for the role, such as Design or Front-end Engineering.
  • The board's own filters. category and jobType take the same choices as the board's Category menu and job type boxes.
  • Remote, hybrid or in the office. is_remote is read from the listing's location and from the posting itself, so a role the posting calls "Remote Eligible" or "3 days in the office per week" says so.
  • Polite by design. The site asks for three seconds between requests, and every request waits for them.
  • No login, no browser. Plain requests to pages anyone can open.

What you can count on

  • every row is charged only after it is written to your dataset; a row you cannot see is never billed
  • a run that finds nothing returns one NO_MATCHING_LISTINGS row that says so, never an empty dataset
  • a spending limit stops the run cleanly with a STOPPED_EARLY row saying how many rows were returned and how many were not
  • every run writes a RUN_SUMMARY entry with rowsFetched, rowsPushed, rowsCharged and duplicatesDropped, so a short run and a broken one are told apart

What data does Authentic Jobs Scraper return?

A real row from a run with keyword set to designer:

{
"platform": "authentic jobs",
"listing_url": "https://authenticjobs.com/job/36642/pinterest-principal-product-designer-ai-native-core/",
"title": "Principal Product Designer, AI Native, Core",
"posted_date": "2026-07-29",
"location": "San Francisco, California US based applicants only (Remote)",
"is_remote": true,
"job_type": "Full-time",
"category": "Design",
"salary_minimum": 210161,
"salary_maximum": 432684,
"salary_currency": "USD",
"company_name": "Pinterest",
"company_logo": "https://authenticjobs.com/wp-content/uploads/job-manager-uploads/company_logo/2026/07/pinterest.png",
"company_tagline": "Find inspiration for your life.",
"posted_text": "Posted 2 months ago",
"source_id": "36642",
"row_type": "ROW"
}
FieldWhat it holds
platformAlways authentic jobs, so rows mixed with other boards say where they came from.
listing_urlThe listing's page on authenticjobs.com.
titleThe job title as posted.
posted_dateThe posting date, as a date.
locationThe location line the employer wrote.
is_remotetrue when the location or the posting says the role is remote; false when either says hybrid or in the office; empty when neither says.
job_typeThe listing's job type as the board shows it: Full-time, Part-time, Freelance or Internship.
categoryThe board's category tags for the role, comma-separated.
salary_minimumThe low end of the range the posting states, as a number; empty when it states none, or states it in a currency other than dollars, pounds or euros.
salary_maximumThe high end of that range, as a number; empty when the posting states none, or states it in a currency other than dollars, pounds or euros.
salary_currencyUSD, GBP or EUR, read from the currency sign. A range in any other currency, such as zloty, is not read, and all three salary fields stay empty.
company_nameThe employer.
company_logoThe employer's logo image on the board.
company_taglineThe one-line tagline the employer shows beside its name, as the board shows it on that posting. The board cuts long taglines short, so two postings from one company can differ.
posted_textThe board's own wording, such as "Posted 2 months ago".
source_idThe board's numeric id for the listing.
row_typeROW on a listing row; NO_MATCHING_LISTINGS or STOPPED_EARLY on a status row.
reasonOn a status row: why the run returned no listings, or why it stopped early.
rowsFetchedOn a status row: how many listings the board handed over, before duplicates were dropped and the cap applied.
rowsReturnedOn a STOPPED_EARLY row: how many listing rows reached your dataset.
rowsRemainingOn a STOPPED_EARLY row: how many were fetched and not returned because the spending limit was reached.

The job description itself is not copied: it is the employer's own writing. Every row links to it.

Pricing

  • $0.003 per listing returned (listing-returned), charged after the row is written to your dataset. Higher-volume plans pay less: $0.00252 on Bronze, $0.00204 on Silver, and $0.00162 on Gold, Platinum and Diamond.
  • $0.00005 per run start (apify-actor-start), the platform's start charge, one per GB of run memory and at least one per run; at this Actor's 256 MB default that is one per run.

A run capped at the default 100 listings costs at most $0.30 plus the start charge. A search usually returns far fewer, because the whole board holds a few hundred listings.

How do I use Authentic Jobs Scraper?

  1. Open the Actor and press Start. designer is filled in, so a first run works as it is.
  2. Change keyword to the term you would type into the board's search box.
  3. Optionally set location, matched against each listing's location line.
  4. Optionally pick a category or a job type; leave them empty for every listing.
  5. Optionally change maximum items (default 100).
  6. Open the Output tab, or export JSON, CSV or Excel from Storage.
{
"keyword": "designer",
"maxItems": 100
}

Input

FieldWhat it does
keywordRequired. The search term, sent to the board's own search.
locationOptional. Matched as text against each listing's location line.
maxItemsThe most listing rows one run returns (default 100).
categoryOptional. Only these categories, from the board's Category menu: Artificial Intelligence (AI), Back-end Engineering, Copywriting, Customer Support, Design, Front-end Engineering, Marketing, Operations, Product Management, Sales. Several means any of them.
jobTypeOptional. Only these job types: Full-time, Part-time, Freelance, Internship.

A category or job type the board does not have stops the run before any request and names the entry, so a typo never turns into a wider search.

Filtering by category and job type

The two filters go to the board's own search, the same way its Category menu and job type boxes do. Front-end and back-end engineering roles that are full-time:

{
"keyword": "engineer",
"category": ["Front-end Engineering", "Back-end Engineering"],
"jobType": ["Full-time"]
}

Worked examples

Use it to get every design role on the board, newest first, narrowed to the Design category.

{
"keyword": "design",
"category": ["Design"],
"maxItems": 100
}

Use it to build a salary sheet of remote roles. Keep the rows where is_remote is true and salary_minimum is filled.

{
"keyword": "engineer",
"location": "remote",
"maxItems": 50
}

Use it to watch the board for part-time and freelance work only.

{
"keyword": "lead",
"jobType": ["Part-time", "Freelance"]
}

Use it to find AI roles at a named company, with the company name as the keyword.

{
"keyword": "Webflow",
"category": ["Artificial Intelligence (AI)"]
}

Output

Rows land in the run's dataset as they are read. Status rows (NO_MATCHING_LISTINGS, STOPPED_EARLY) are never charged. Each run also writes a RUN_SUMMARY entry to its key-value store with the counts.

What can you do with the data?

  • Track which companies are hiring designers and engineers on the board, week by week.
  • Compare the salary ranges employers state for the same kind of role.
  • Feed new listings into a sourcing sheet, a Slack channel or an agent.

Use Authentic Jobs Scraper with AI agents

Call it through the Apify API or the Apify MCP server with one keyword; each row comes back with the same fields, so an agent can filter on salary or location without parsing a page.

Limits

  • One board. It reads authenticjobs.com only.
  • Salary only when stated. A posting that names no range leaves the three salary fields empty.
  • Remote only when stated. A listing and posting that never say where the work is done leave is_remote empty.
  • No description text. The employer's description is linked, not copied.
  • A posting page that will not load. That row's salary and category stay empty; the listing still comes back.
  • Small board. The whole board holds a few hundred listings, so a narrow search returns a handful.

Troubleshooting

My dataset has one NO_MATCHING_LISTINGS row. The board's search found nothing for that keyword and location. Try a broader term.

Salary is empty on some rows. Those postings state no range.

FAQ

Can I connect it to other tools?

Yes. Apify integrations send each run's rows to Google Sheets, Slack, Zapier, Make, webhooks or your own database without code.

Can I use the Apify API?

Yes. Start runs against Pradio/authentic-jobs with the same input as the Console.

The board's terms carry no clause against automated reading, and its robots.txt allows the listing and job pages at three seconds apart, which every request here honours. The employers' descriptions are not copied. Check what your own use of the data requires.

Release notes

  • 2026-09-25: the start charge falls from $0.005 to the platform's default $0.00005.
  • 0.1.10, 2026-09-24: category and jobType filters, the board's own; is_remote is also read from the posting, and is false for a hybrid or in-office role.
  • 0.1.9, 2026-09-24: official_url is listing_url, the listing's page on the board; skills is category; the row-kind column is row_type.
  • 0.1.8, 2026-09-24: salary range and category read from each posting's page; the columns this board never fills are gone, and the distance input, which the board cannot filter by, is removed.
  • 0.1.6, 2026-09-05: the start price and the tier ladder stated on the page.
  • 0.1.1, 2026-09-02: first public version.

Need the jobs companies post on their own careers pages? ATS Jobs Scraper reads the public boards of Greenhouse, Lever, Ashby, Workable and SmartRecruiters for a list of companies.

Support

Found a listing that came back wrong, or want another field? Open an issue on the Actor's Issues tab and it will be answered there.

Not affiliated

This Actor is not affiliated with Authentic Jobs. It reads pages the board publishes to everyone.