PowertoFly Jobs Scraper avatar

PowertoFly Jobs Scraper

Pricing

Pay per usage

Go to Apify Store
PowertoFly Jobs Scraper

PowertoFly Jobs Scraper

Efficiently extract job listings with the Powertofly Jobs Scraper. This lightweight actor is designed to gather detailed job data from PowerToFly quickly and reliably. To ensure the best performance and avoid blocking, using residential proxies is highly recommended.

Pricing

Pay per usage

Rating

5.0

(1)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

12

Total users

7

Monthly active users

5 days ago

Last modified

Share

What does PowerToFly Jobs Scraper do?

PowerToFly Jobs Scraper collects job postings from powertofly.com and saves them as structured records. Search by keyword and location, filter by work model, or start from a PowerToFly jobs URL. Each record includes the full job description, salary range when the employer publishes one, skills, company details, and the application link.

The Actor is built for recruiting teams, job board operators, researchers, and anyone who needs a current picture of the roles listed on PowerToFly without opening each posting by hand.

Why use PowerToFly Jobs Scraper?

  • Complete job records. A single run returns the title, company, location, work model, salary range, employment type, posting date, skills, and description for every job.
  • Filters that match the job board. Use the same keyword, location, and remote, hybrid, or onsite filters that PowerToFly exposes to its own visitors.
  • Reliable collection. Temporary source errors are retried, and the Actor tries alternate routes before it reports a failure.
  • Batch output. Records are saved to the dataset while the run is still collecting, so partial progress is not lost if a later request fails.
  • Scheduling and integrations. Run once, or schedule hourly, daily, or weekly runs and send results to Sheets, Airtable, Slack, or your own systems.

What data can you extract from PowerToFly?

FieldDescription
titleJob title as published
companyHiring company name
job_locationCity, region, and country, or the work model when no address is published
work_modelRemote, Hybrid, or Onsite
salarySalary or hourly range with currency and rate type when available
employment_typeFull Time, Part Time, Contract, or Per Project
levels_of_experienceJunior, Mid-Level, Senior, or Lead
skillsSkill tags attached to the posting
description_textFull job description as plain text
description_htmlFull job description with its original formatting
date_postedISO timestamp for when the job was published
apply_urlApplication link, either on PowerToFly or on the employer site
company_urlPowerToFly company profile
urlDirect PowerToFly job page

How to use PowerToFly Jobs Scraper

  1. Open the Actor in Apify Console.
  2. Enter a keyword, a location, or a PowerToFly jobs URL. The keyword field is prefilled with software engineer.
  3. Choose an optional work model filter.
  4. Set results_wanted and leave max_pages at its default unless you need a hard page limit.
  5. Run the Actor and download the dataset, or connect it to your workflow.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNo-PowerToFly jobs page or job detail URL. When supplied, its search parameters replace the keyword, location, and filter fields.
keywordStringNosoftware engineerJob title, skill, or phrase to search for
locationStringNo-Location filter such as Remote, New York, or United States
locationTypeArrayNo-Work model filter: Remote, Hybrid, Onsite
results_wantedIntegerNo20Maximum number of job records to save
max_pagesIntegerNo20Maximum number of result pages, up to 100 jobs per page
proxyConfigurationObjectNo{}Optional proxy settings. Custom proxy URLs work locally and on Apify. Apify Proxy requires a platform run.

The keyword field has a default because most runs start with a role search. To browse by location or work model alone, clear the keyword field in Console or supply a jobs URL that contains only the location.

Output Data

FieldTypeDescription
job_idStringPowerToFly job identifier
urlStringJob detail page
titleStringJob title
headlineStringShort headline when the employer supplies one
companyStringCompany name
company_idStringCompany identifier
company_urlStringCompany profile page
company_logoStringCompany logo URL
company_descriptionStringCompany description as plain text
company_locationStringCompany location text when available
job_locationStringJob location string
job_location_rawStringRaw job location string
cityStringParsed city
regionStringParsed state or region code
countryStringParsed country
secondary_locationsArrayAdditional locations for the same role
work_modelStringRemote, Hybrid, or Onsite
is_remoteBooleanWhether the role is remote
remote_typeStringRemote or Hybrid classification
salaryStringSalary or hourly range with currency and rate type
employment_typeStringEmployment type
levels_of_experienceArrayExperience levels attached to the posting
categoryStringJob category when published
skillsArraySkill tags
date_postedStringISO publishing timestamp
date_posted_rawStringRaw publishing timestamp
date_posted_relativeStringRelative age such as 3 days ago
description_htmlStringJob description with HTML
description_textStringJob description as plain text
is_sponsorship_availableBooleanSponsorship flag when published
is_relocation_consideredBooleanRelocation flag when published
is_featuredBooleanFeatured flag
is_cover_letter_requiredBooleanCover letter requirement
apply_urlStringApply link
apply_is_custom_linkBooleanWhether the employer supplied a custom apply link
is_external_applyBooleanWhether the apply flow leaves PowerToFly
sourceStringSource domain
scraped_atStringCollection timestamp
locationStringAlias of job_location
job_typeStringAlias of employment_type

Usage Examples

Collect software engineering jobs

Search with the default keyword and save the first 50 matches.

{
"keyword": "software engineer",
"results_wanted": 50
}

Remote roles

Use the work model filter to return remote roles only.

{
"keyword": "product manager",
"locationType": ["Remote"],
"results_wanted": 100
}

Roles in a named location

Combine a keyword, a location, and a result cap.

{
"keyword": "data scientist",
"location": "New York",
"results_wanted": 75
}

Start from a PowerToFly jobs URL

The URL query string defines the search. Supported parameters include keywords, location, and location_type.

{
"startUrl": "https://powertofly.com/jobs/?keywords=data+scientist&location=Remote&location_type=Remote",
"results_wanted": 50
}

Collect one job

A job detail URL returns that single posting.

{
"startUrl": "https://powertofly.com/jobs/detail/2644704"
}

Sample Output

{
"job_id": "2577601",
"url": "https://powertofly.com/jobs/detail/2577601",
"title": "Investment Strategist - Parametric",
"headline": null,
"company": "Morgan Stanley",
"company_id": "3697",
"company_url": "https://powertofly.com/companies/morgan-stanley",
"company_logo": "https://assets.powertofly.com/thumbnail/4f22848479e447518bae82ea59e27f4a.jpeg",
"job_location": "Minneapolis, MN, United States",
"city": "Minneapolis",
"region": "MN",
"country": "United States",
"secondary_locations": [],
"work_model": "Onsite",
"is_remote": false,
"salary": "70,000 - 140,000 USD Yearly",
"employment_type": "Full Time",
"levels_of_experience": ["Senior"],
"category": "Finance",
"skills": ["Investment Analysis", "Quantitative Methods", "python", "Sql"],
"date_posted": "2026-10-31T01:11:18.678Z",
"date_posted_relative": "today",
"is_sponsorship_available": false,
"is_relocation_considered": false,
"apply_url": "https://ms.wd5.myworkdayjobs.com/en-US/External/job/Minneapolis-Minnesota-United-States-of-America/Investment-Engineer---Parametric_PT-JR038167?source=PowerToFly",
"apply_is_custom_link": true,
"is_external_apply": true,
"source": "powertofly.com",
"scraped_at": "2026-10-31T10:01:28.394Z",
"location": "Minneapolis, MN, United States",
"job_type": "Full Time"
}

Tips for Best Results

  • Start with 20 to 50 results to confirm the filters and inspect the fields before a large run.
  • Use specific job titles. data analyst returns tighter matches than analyst.
  • Combine location with locationType when you want remote roles in a named country or metro.
  • Requests above 4,000 jobs are collected in smaller batches, which takes longer. Split very large collections by location or work model when speed matters.
  • Clear the keyword field when you want a location-only or work-model-only run.
  • Schedule the Actor daily for monitoring, or weekly for market reports.
  • Missing salary, skills, or company details usually mean the employer did not publish them.

Integrations

  • Google Sheets - Send each run to a spreadsheet for review and sharing.
  • Airtable - Build a searchable job or recruiting base.
  • Slack - Post new matching roles to a channel.
  • Webhooks - Send finished run data to your own service.
  • Make or Zapier - Start downstream workflows when a run finishes.
  • Apify API - Read datasets programmatically from applications and dashboards.

Export Formats

Datasets can be downloaded as JSON, CSV, Excel, XML, and other formats supported by Apify.

Frequently Asked Questions

How many jobs can one run return?

You can request any number with results_wanted, and max_pages adds a page-based cap. A single search query can reach 4,000 jobs directly. Larger requests are split into batches and take longer.

Why is the salary field empty for some jobs?

PowerToFly does not require employers to publish pay. When the posting has no salary, the field is null. The same applies to skills, company descriptions, and secondary locations.

Can I collect remote jobs only?

Yes. Set locationType to ["Remote"], or use location with the value Remote. Both filters are supported by PowerToFly.

Why does the keyword field already contain software engineer?

That is the Actor's default search. It gives a new user a working run without any setup. Clear the field if you want to browse by location or work model alone, or provide a startUrl.

Does the Actor support sorting?

PowerToFly returns the newest matching jobs first. An explicit date sort can push unrelated jobs into keyword results, so the Actor keeps the default order. There is no sort input.

Can I run this Actor on a schedule?

Yes. Create a schedule in Apify Console and choose hourly, daily, weekly, or a custom interval. Each run saves a new dataset.

Can I export the data to CSV or Excel?

Yes. Open the dataset and use the export button, or call the Apify API with the format you need.

What happens when a job is removed during a run?

Removed postings are skipped. The rest of the run continues, and the final log reports how many records were saved.

Some locations show Remote instead of a city. Why?

PowerToFly stores the work model separately from the address. When a posting has no city, state, or country, the Actor uses the work model as the location string and keeps work_model populated.

The Actor reads publicly available job postings. You are responsible for complying with applicable laws, the PowerToFly terms of service, and the way you use or store the data.

Support

For issues, feature requests, or custom Actor work, use the Issues tab on the Actor page or contact the developer through Apify. Include the run input and a link to the failed run when reporting a problem.

This Actor is provided for legitimate data collection and analysis. You are responsible for using the collected data in line with applicable laws, website terms, and privacy rules. Do not use it to republish copyrighted job descriptions without permission.