ClickBank Scraper | Offer Monitor, Gravity & EPC
Pricing
$2.00 / 1,000 offer saveds
ClickBank Scraper | Offer Monitor, Gravity & EPC
Monitor public ClickBank offers: current Gravity, earnings per conversion, true EPC and return-rate context. Bulk keywords/categories, new or changed offers, before/after values, CSV and category summaries. No login. $2 per 1,000 saved offers; no start fee.
Pricing
$2.00 / 1,000 offer saveds
Rating
0.0
(0)
Developer
Cauldo
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
ClickBank Scraper & Offer Monitor
Track public ClickBank marketplace offers with current Gravity, earnings per conversion, actual earnings per click, and clearly labeled return-rate data. Search multiple keywords and categories, export clean CSV, and reuse a monitor to get only first-seen or changed offers on later runs.
$2 per 1,000 saved offers. No start fee. No ClickBank login or API key. One saved offer costs $0.002, including comparisons and exports. The first 10 offers cost $0.02; 100 cost $0.20. Platform usage is included in this Actor's event price. Apify's available account credits can be used to try it.
Why use this Actor?
- Metrics with the right meaning. ClickBank's current interface uses different fields from its older data. This Actor distinguishes earnings per conversion from earnings per click, retains the original metrics, and converts unavailable negative values to
null. - Offer changes, ready for automation. Keep a named baseline and receive first-seen/changed offers, exact before-and-after values, Gravity and earnings deltas, and observation timestamps.
- Return-rate context. A category estimate is labeled
category_estimate, never presented as an offer's own refund history. The optional return-rate filter requires historical offer data. - Bulk research in one run. Combine keyword and category searches with a single result cap, deduplicate by vendor, and filter by Gravity, earnings, EPC, language or recurring billing.
- Useful exports. Offers and changes have dedicated dataset views. Download an Excel-friendly CSV and category summaries based on the returned sample.
- Pay for delivered offers. Failed searches, duplicates, filtered offers and unchanged offers suppressed by monitoring incur no result event. No special five-row restriction for free-plan users.
Quick start
{"keywords": ["guitar", "piano"],"maxResults": 50}
Click Start, then open Offers & current metrics. Download Offers CSV for a flattened spreadsheet, or use the dataset API for complete JSON including changes and original source metrics.
To browse a category without keywords:
{"keywords": [],"categories": ["Arts & Entertainment", "Education"],"maxResults": 100,"maxOffersPerSearch": 500}
Category names must match ClickBank, including punctuation. Both arrays empty means the entire public marketplace. Keywords and categories form combinations, up to 50 searches per run. Results are processed in input order; a global cap can be consumed by earlier searches.
Monitor new and changed offers
{"keywords": ["guitar", "piano"],"mode": "changed","monitorName": "music-offers","maxResults": 100,"maxOffersPerSearch": 500}
The first run saves a baseline and returns matching offers. Reuse the same monitor name on later runs:
| Mode | Saved results |
|---|---|
all | All matching offers; comparison fields included when a monitor is supplied |
new | Only vendors not previously observed in this monitor |
changed | First-seen offers plus offers whose tracked fields changed |
Tracked fields include title, description, destination URL, category, current and legacy Gravity, rank, earnings, EPC, conversion/return metrics and their basis, languages, recurring/physical flags and affiliate-tools URL. Image changes alone do not produce a changed event.
Use Apify schedules and run-success webhooks for recurring workflows in n8n, Make, Zapier or your own application. A webhook is a run notification; inspect the dataset count to decide whether to notify your team. This Actor does not itself send messages.
History is stored in your account in clickbank-monitor-<monitorName>, retains up to 20,000 offers observed in the past 90 days, and compares matching offers across searches using that name. Use different names for independent baselines. Configure non-overlapping runs for a monitor; the overlap guard is best effort. First seen means first observed by this monitor, not newly launched. No disappearance or expiry is inferred from partial, filtered or capped searches.
Input reference
| Field | Default | Purpose |
|---|---|---|
keywords | ["guitar"] when no categories supplied | Up to 20 keywords; [] to browse without keywords |
categories | [] | Up to 10 exact category names |
maxResults | 100 | Global saved-row limit, 1–10,000 |
maxOffersPerSearch | 500 | Offers inspected before filters, 1–5,000 per search |
sortBy | gravity | gravity, averageEarningsPerConversion, earningsPerClick, rank, relevance |
sortDescending | true | Highest numeric values first; set false for rank 1 first |
mode | all | all, new or changed |
monitorName | unset | Saved comparison history; required for new/changed |
minGravity | unset | Minimum current Gravity |
minAverageEarningsUsd | unset | Minimum average earnings per conversion |
minEpcUsd | unset | Minimum actual earnings per click |
maxReturnRatePercent | unset | Maximum historical offer return percentage; excludes category estimates and unknowns |
recurringOnly | false | Require the marketplace's recurring flag |
languages | [] | Match any of en, de, es, fr, it, pt |
proxyConfiguration | direct connection | Optional Apify or custom proxy |
Filters run before billing. Missing values do not pass numeric filters. Raising an inspection cap can improve coverage when filters are restrictive. There is a 150-request safety limit per run, including retries. Large combinations may require multiple runs.
Metrics and output
One row represents one vendor offer. It includes vendor, title, description, category/subcategory, public offer and tools URLs, language and product flags, activation date, observation time and search provenance. The first matching search supplies the provenance when searches overlap.
The following mappings were verified against ClickBank's public marketplace client. The similarly named source fields are easy to confuse:
| Output field | Public source field | Meaning |
|---|---|---|
gravity | biGravity | Current displayed Gravity |
legacyGravity | gravity | Older source Gravity metric, retained separately |
averageEarningsPerConversionUsd | averageEPC | Current average earnings per conversion, not per click |
initialEarningsPerConversionUsd | initialEPC | Current initial earnings per conversion |
futureEarningsPerRebillUsd | futureEPC | Current future earnings per rebill |
earningsPerClickUsd | netEPC | Actual current earnings per click |
conversionRatePercent | conversionRate × 100 | Percentage; 2.5 means 2.5% |
expectedReturnRatePercent | expectedReturnRate × 100 | Return metric; always read its source and basis |
returnRateSource preserves the source's label. returnRateBasis is offer_history, category_estimate, other or unknown. A change in the source label makes the return-rate delta null so unlike estimates are not subtracted.
Negative unavailable sentinels become null in normalized metrics; actual zero remains zero. missingMetrics identifies these fields and sourceMetrics preserves the original object, including any negative sentinels, for auditing. USD figures are affiliate earnings metrics, not product retail prices or a promise of profit. See ClickBank's metric definitions.
Monitoring adds observationType, firstSeenAt, previousObservedAt, changedFields, changes, gravityDelta, averageEarningsDeltaUsd, earningsPerClickDeltaUsd, returnRateDeltaPercentagePoints and comparisonHours. First observations have no prior values, so deltas are null. Comparisons use the previous matching observation, including runs that suppressed unchanged rows.
Coverage and reliability
The Run report & search coverage output contains each search's reported total, inspected/filtered/duplicate counts, pages, completion state, errors and stop reason. Empty searches are valid. All failed searches fail the run; mixed success produces an explicit partial report. Capped output is marked limited.
The source returns a live, changing catalog; pagination is not a transactionally frozen snapshot. The Actor deduplicates vendor IDs, detects repeated pages and reports incomplete coverage. Saved rows use a durable pending-batch journal and stable event keys to recover within the same run without repeating a charge. If a partial dataset write cannot be reconciled, it stops and preserves the pending batch for investigation. A new run has its own billing and is not a resume of an earlier run.
Category CSV/JSON summaries describe only returned rows. In changed mode they summarize changed/first-seen offers, not all marketplace offers. Median values ignore unavailable metrics.
JavaScript API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('cauldo/clickbank-offer-monitor').call({keywords: ['guitar', 'piano'],mode: 'changed',monitorName: 'music-offers',maxResults: 100,}, { maxTotalChargeUsd: 0.20 });const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
FAQ
Do I need a ClickBank account? No. This Actor reads only marketplace data available through the public search endpoint. It does not log in, change listings, generate affiliate tracking links, or access private account reports.
Why are there fewer offers than requested? The source may have fewer matches, filters may exclude offers, monitoring may suppress unchanged records, or a result/inspection/budget cap may have been reached. Check the run report.
Why is EPC zero or unavailable? Zero is preserved when the source supplies zero. Negative unavailable sentinels are normalized to null. This Actor does not estimate missing performance numbers.
Can an unchanged run cost zero in result events? Yes. In new/changed mode no rows means no offer-result events. There is no Actor start fee.
How do I reset history? Use a new monitor name, or delete the named history store through your Apify account. Avoid changing history while a run is active.
Is this official? This is an independent tool, not affiliated with ClickBank. Public source access and schemas can change. For a problem, open the Actor's Issues tab and include the run ID and input without any credentials.