PartnerStack Scraper | SaaS Affiliate Program Monitor
Pricing
$2.00 / 1,000 program saveds
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
Maintained by CommunityActor 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}
- The first run creates a baseline and returns matching programs as
new. - Schedule the same input and monitor name in Apify.
- Later
changedruns return new programs and changed tracked fields, withbeforeandaftervalues. Unchanged programs are skipped without a result charge.
| Mode | Output |
|---|---|
all | All matching programs up to the cap. Add a monitor name for comparisons. |
new | Programs not previously observed by this monitor. |
changed | New 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
| Field | Meaning |
|---|---|
programId, slug, name | Stable company key, directory slug and name |
programUrl, websiteUrl | Public pages; no affiliate tracking added |
commissionText, offerDetails | Public headline and additional advertised descriptions, preserving qualifications |
description, productDescription | Program and product descriptions |
categories, partnerTypes, ecosystems | Sorted, deduplicated public labels |
mentionsRecurring, recurringEvidence | Literal recurring wording signal and evidence |
observationType | new, changed or unchanged; without history, every row is new |
changedFields, changes | Changed field names and before/after values |
firstSeenAt, previousObservedAt, observedAt | UTC observation timestamps |
sourceUrl, listingStatus, fingerprint | Source, 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.csvincludes readable fields and JSON columns for lists and changes. Formula-like cells are escaped for spreadsheet safety; the dataset retains original text.FACETSlists categories, partner types and ecosystems with counts across all fetched active programs. Programs can have several labels, so counts overlap.OUTPUTreports 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 programs | Actor 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
allfor a current snapshot. - Limited coverage: increase
maxResultsor the run charge limit. CheckstopReasonandmatchingProgramsFullyProcessed. - 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.