PartnerStack Scraper | SaaS Affiliate Program Monitor avatar

PartnerStack Scraper | SaaS Affiliate Program Monitor

Pricing

$2.00 / 1,000 program saveds

Go to Apify Store
PartnerStack Scraper | SaaS Affiliate Program Monitor

PartnerStack Scraper | SaaS Affiliate Program Monitor

Export public PartnerStack SaaS affiliate programs and advertised commission terms. Filter by keyword, category or partner type; track new programs and before/after changes. JSON, CSV and reusable watchlists. No login. $2 per 1,000 saved programs; no start fee.

Pricing

$2.00 / 1,000 program saveds

Rating

0.0

(0)

Developer

Cauldo

Cauldo

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

PartnerStack Scraper & SaaS Affiliate Program Monitor

Find SaaS affiliate programs, export their advertised commission terms, and track new programs or changes over time. Built for affiliate publishers, comparison sites, agencies and partnership researchers using the public PartnerStack directory.

Run with the defaults: no PartnerStack account, cookies, API key or proxy setup. The first run returns up to 20 programs, alphabetically, for $0.04. JSON and CSV exports are included.

What you get

  • A usable program database: name, public program page, website, descriptions, advertised commission headline, additional offer details, categories, partner types and ecosystem tags.
  • Bulk discovery and watchlists: search several phrases, filter by category or partner type, or supply program slugs/URLs. Programs are deduplicated before billing.
  • Faithful commission wording: ranges, “up to,” restrictions and time limits remain in the source text. We do not turn customer discounts into commission rates or combine negotiated offers with the public headline.
  • Before/after monitoring: reuse a named monitor for new programs or changes to commission wording, offer details, descriptions, categories, partner types, ecosystems, name, slug or website. Volatile source timestamps do not create false changes.
  • Useful exports: an Apify dataset, spreadsheet-safe CSV, available filter values with counts, and a report showing matching, processed, skipped and capped results.
  • Predictable cost: $2 per 1,000 saved programs; no start fee. Empty searches, filtered programs and unchanged programs skipped by monitoring have no result charge. Platform usage is included.

Start in one click

Leave the input unchanged and click Start. Open Programs and advertised terms or Programs CSV when the run finishes. Use this input for the current full public directory:

{ "maxResults": 1000 }

The public page listed 403 active programs in release testing on September 28, 2026 (Pacific time). That number will change. Coverage is the public active directory; “Request Program” placeholders, private programs and negotiated partner-specific terms are excluded.

Find programs for your audience

{
"keywords": ["email", "newsletter"],
"partnerTypes": ["Affiliates"],
"maxResults": 100
}

Keywords match literal phrases in names, descriptions, commission headlines, categories and additional offer details. Entries within each keyword/category/partner-type list use OR. Different filters combine with AND.

Category and partner-type names match current public labels, ignoring case, spaces and punctuation. For example, HR Software and hr-software match. Run the defaults and open Available categories and partner types (FACETS) for all valid values. A typo produces a clear input error rather than a misleading empty result.

recurringOnly: true keeps headlines explicitly mentioning “recurring,” “lifetime,” “indefinitely” or “MRR.” The matching wording is in recurringEvidence. This is a text filter, not a recurring payout guarantee or a complete classification: different wording may be excluded.

Monitor terms or discover new programs

{
"programs": ["kit", "apollo", "https://market.partnerstack.com/page/pipedrive"],
"mode": "changed",
"monitorName": "my-saas-watchlist",
"maxResults": 100
}
  1. The first run creates a baseline and returns matching programs as new.
  2. Schedule the same input and monitor name in Apify.
  3. Later changed runs return new programs and changed tracked fields, with before and after values. Unchanged programs are skipped without a result charge.
ModeOutput
allAll matching programs up to the cap. Add a monitor name for comparisons.
newPrograms not previously observed by this monitor.
changedNew programs and programs with changed tracked fields.

History belongs to your Apify account in partnerstack-monitor-<monitorName>, retained for 90 days and at most 20,000 programs. Use one non-overlapping schedule per monitor. A best-effort overlap guard expires 15 minutes after a run starts; it is not an atomic lock.

A monitor records only matching programs it processes. For a complete baseline, allow enough results and spending for all matches. matchingProgramsFullyProcessed confirms coverage. Limited runs leave unprocessed programs for a later run; they are not silently marked seen. firstSeenAt means first observed by your monitor, not the launch date. Missing watchlist programs are reported, but absence never becomes a claimed closure/removal.

Output fields

FieldMeaning
programId, slug, nameStable company key, directory slug and name
programUrl, websiteUrlPublic pages; no affiliate tracking added
commissionText, offerDetailsPublic headline and additional advertised descriptions, preserving qualifications
description, productDescriptionProgram and product descriptions
categories, partnerTypes, ecosystemsSorted, deduplicated public labels
mentionsRecurring, recurringEvidenceLiteral recurring wording signal and evidence
observationTypenew, changed or unchanged; without history, every row is new
changedFields, changesChanged field names and before/after values
firstSeenAt, previousObservedAt, observedAtUTC observation timestamps
sourceUrl, listingStatus, fingerprintSource, active-directory status and comparison hash

Missing wording is null, not zero. No payout rate, currency, cookie duration, conversion rate, EPC or earnings forecast is invented. Commission text is a public advertisement, not a verified payout or contractual promise. Confirm eligibility and current terms with each program before promoting it.

The Actor provides discovery links. It does not apply to programs, create affiliate links or act in a PartnerStack account.

Exports and integrations

  • The default dataset supports Apify JSON, CSV, Excel and API exports.
  • PROGRAMS.csv includes readable fields and JSON columns for lists and changes. Formula-like cells are escaped for spreadsheet safety; the dataset retains original text.
  • FACETS lists categories, partner types and ecosystems with counts across all fetched active programs. Programs can have several labels, so counts overlap.
  • OUTPUT reports source size, matches, processed programs, skipped unchanged programs, missing watchlist slugs, spending/result caps and pricing.

Use Apify schedules and webhooks with n8n, Make or your own workflow. Webhooks report run completion; inspect dataset items for changes. There is no built-in email alert subscription. Apify API and MCP access are available.

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('cauldo/partnerstack-program-monitor').call({
keywords: ['email'], maxResults: 50,
}, { maxTotalChargeUsd: 0.10 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Pricing and limits

One custom event: program-result, $0.002 per saved program.

Saved programsActor price
20$0.04
100$0.20
1,000$2.00
0$0.00

These are per-run prices; schedules incur charges when they save results. Apify plan credits may cover usage. CSV exports add no Actor events. Optional custom proxy providers may bill separately.

The maximum run charge is checked before saving each batch. Results are deduplicated, saved durably and billed with an idempotent batch key, so restarting the same interrupted run does not deliberately duplicate a charge. A new all run returns and bills its results again. Monitoring avoids unchanged result charges.

Limits: 5,000 output rows, 20,000 source programs, a 30 MB response-size check and at most three source request attempts. The directory is fetched once per normal run, then filtered locally; a small result cap does not reduce the source response size. Default memory: 256 MB. Default timeout: 10 minutes.

Troubleshooting

  • No matches: successful zero-row run. Broaden filters or inspect missingPrograms. No rows means no result charge.
  • Unknown category/partner type: use current labels from FACETS, fix input and rerun.
  • Unchanged monitoring run: expected success with zero rows. Use all for a current snapshot.
  • Limited coverage: increase maxResults or the run charge limit. Check stopReason and matchingProgramsFullyProcessed.
  • Temporary source failure: 429/5xx and transient network errors get up to three attempts. A blocked, malformed or unexpectedly empty response fails clearly rather than claiming there were no programs. Retry later; an optional proxy is available.
  • Interrupted write/billing: saved rows remain available. Restarting the same run uses its saved work and billing key. Avoid overlapping the same monitor.

The public source can change or become unavailable. Release tests cover the current source and specified failures; no scraper can guarantee uninterrupted third-party access. Independent tool; not affiliated with or endorsed by PartnerStack.