How to get SaaS Pricing Page Extractor on Apify
Pull plan names and prices from public SaaS /pricing pages using JSON-LD offers and plan/price HTML patterns - for competitor pricing sheets and Slack digests. A run saves one row per result.
Set up the Apify actor
Apify is where this run is collected. An actor is the program that collects the rows. A task is that program saved with your settings, so the next section can ask for the latest rows. You need a free Apify account.
- 01Open SaaS Pricing Page Extractor and click Try for free. Create an Apify account if you do not have one. The Free plan does not ask for a card.
- 02You are on the input form. Keep the sample for this first run.
{ "pricingUrls": [ "https:// linear.app/ pricing" ], "maxItems": 5 } - 03Leave the proxy setting as it is. Click Start and wait until the run says Succeeded.
- 04Open Storage, then Dataset. You should see
planName,priceAmount,currency,billingPeriod. - 05When you want the real list, raise maxItems. The sample cap is only there so the first run stays small.
- 06Go back to the input and choose Save as a new task. Name it after this list.
- 07Open the task. Copy the task ID from the address bar. Excel, Sheets, Power BI, and the other guides ask for this ID.
- 08On the task, open Schedules and add a weekly run if you want fresh rows. Each run pays the start charge and the charge for the rows. The amounts are in the price list on this page.
- 09Open Settings, then API & Integrations, and copy an API token. Excel, Sheets, and the other guides put this token in a download link. Anyone with that link can download the rows, so treat it like a password.
https:// api.apify.com/ v2/ actor-tasks/ TASK_ID/ runs/ last/ dataset/ items? format=json& clean=true& status=SUCCEEDED& token=YOUR_TOKEN - 10Other formats use the same URL with
format=csvorformat=xlsx.
Schema
Examples come from the actor sample, not a live result.
| Name | Description | Example |
|---|---|---|
planName | Plan name | free |
priceAmount | Price amount | 0.0 |
currency | Currency | USD |
billingPeriod | Billing period | null |
priceRaw | Price text from the page | $0 |
sourceUrl | Source URL | https:/ |
scrapedAt | Scraped at | 2026-09-29T12:00:00+00:00 |
planNamePlan namefreepriceAmountPrice amount0.0currencyCurrencyUSDbillingPeriodBilling periodnullpriceRawPrice text from the page$0sourceUrlSource URLhttps:// linear.app/ pricing scrapedAtScraped at2026-09-29T12:00:00+00:00