Reverse Image Search Monitor: Discover, Verify & Track Matches avatar

Reverse Image Search Monitor: Discover, Verify & Track Matches

Pricing

from $1.87 / 1,000 candidate records

Go to Apify Store
Reverse Image Search Monitor: Discover, Verify & Track Matches

Reverse Image Search Monitor: Discover, Verify & Track Matches

Automatically discovers every site hosting your image via reverse image search, then verifies each candidate with CLIP similarity and perceptual hashing for duplicate and near-duplicate verdicts, not just one score. Monitor mode flags only new copies on repeat scans. From $0.0025 per candidate.

Pricing

from $1.87 / 1,000 candidate records

Rating

0.0

(0)

Developer

GetAScraper

GetAScraper

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

🔍 What does Reverse Image Search Monitor do?

Give it one image, a URL or an upload, and it searches the open web for every place that image (or a close visual match) shows up. Every candidate it finds gets verified two independent ways: a visual-similarity score and a structural fingerprint check, so a "duplicate" call is backed by two signals agreeing, not one noisy number. Turn on monitor mode and it remembers what it saw last time, so a later scheduled run only reports genuinely new hosting sites, not everything all over again.

Already have your own list of candidate images to check instead? Skip discovery and score that list directly, with the same two-signal verification.

Run it on demand from the Apify Console, on a schedule for ongoing monitoring, or through the Apify API and integrations like Zapier or Make.

💡 Why use Reverse Image Search Monitor?

Photographers and illustrators can find out who's using their work without permission, not just check the handful of sites they already suspect.

Brands and sellers can catch counterfeit listings and copied product photos before they cost a sale.

E-commerce and catalog teams can dedupe a product catalog against the open web, not just against itself.

Content and marketing teams can confirm an image is actually original before publishing it under their own name.

🧭 How to use Reverse Image Search Monitor

  1. Click Try for free and open the Input tab.
  2. Paste a direct image URL or upload the image you want to check.
  3. Pick a mode: automatic discovery, your own target list, or both.
  4. Optionally turn on Incremental Monitor Mode and give it a name, then schedule the Actor to run periodically. Later runs will only report new appearances.
  5. Click Start and review results in the Output tab, or export them as JSON, CSV, or Excel.

⚙️ Input

Configure the run from the Input tab in Apify Console, or pass JSON directly through the API.

FieldTypeRequiredDescription
sourceImagestringYesDirect image URL or an uploaded image to search for.
modeenumNodiscover (default), compareTargets, or both.
targetImagesarray of URLsNoExplicit candidate image URLs to score, used with compareTargets or both. Up to 20.
comparisonModeenumNoembedding, phash, or both (default). Which verification signals to run.
similarityThresholdnumberNoVisual-similarity cutoff (0 to 1) for a duplicate verdict. Default 0.85.
phashThresholdintegerNoStructural fingerprint distance cutoff (0 to 64) for a duplicate verdict. Default 8.
proxyConfigurationobjectNoProxy settings. Defaults to Apify's standard proxy.
maxCandidatesintegerNoMaximum candidates to discover, download, and score per run. Default 12.
incrementalMonitorModebooleanNoWhen on, only reports candidates that are new or changed since the last run with this monitor state name.
monitorStateNamestringNoName for the saved monitor state. Use a different name per image tracked on its own schedule.
customIdstringNoYour own identifier, echoed back on every output row.

📊 Data table

FieldTypeDescription
customIdstringYour own identifier, if you set one.
candidateUrlstringThe matching image or hosting page URL.
candidateSitestringThe hosting site's domain, when available.
discoveryMethodstringreverseSearch if found automatically, explicitTarget if you supplied it.
similarityScorenumberVisual-similarity score from 0 to 1, when embedding verification ran.
phashDistancenumberStructural fingerprint distance, when hash verification ran.
dhashDistancenumberA second, independent structural fingerprint distance.
isDuplicatebooleanTrue when the verification signals confirm a match.
isNearDuplicatebooleanTrue when one signal suggests a match but it falls short of a confirmed duplicate.
verdictstringduplicate, near_duplicate, related, or unverified.
changeTypestringNEW or UPDATED, only present in monitor mode.
scrapedAtstringWhen this row was produced.

Example output

{
"candidateUrl": "https://example.com/gallery/photo-42.jpg",
"candidateSite": "example.com",
"discoveryMethod": "reverseSearch",
"similarityScore": 0.94,
"phashDistance": 3,
"dhashDistance": 2,
"isDuplicate": true,
"isNearDuplicate": false,
"verdict": "duplicate",
"scrapedAt": "2026-09-11T09:00:00.000Z"
}

You can download results as JSON, CSV, Excel, or HTML from the Output tab, or pull them through the API.

💰 Pricing

This Actor is pay per event. You only pay for what it actually finds and scores, and an empty run costs nothing. There are no subscriptions or minimum monthly fees.

⭐ Enjoying Reverse Image Search Monitor?

⭐ ⭐ ⭐ ⭐ ⭐
If it caught a match you would have otherwise missed, that's worth a rating.
It helps other photographers, sellers, and content teams find it too.
★  Rate this Actor on Apify

❓ FAQ

Does it need my image to already be indexed anywhere? No. Give it any direct, publicly reachable image URL or upload a file, and it searches from there.

What if I already know which images to compare against? Set mode to compareTargets and list them directly. You get the same two-signal verification without the discovery step.

How does monitor mode decide what's "new"? It remembers what it found under a given monitor state name and only reports candidates that are genuinely new or changed the next time that same state name runs.

Why do I sometimes see "near duplicate" instead of "duplicate"? That means one verification signal found a strong match but the other did not agree. It is still worth a look, just flagged with the right amount of confidence instead of an overconfident guess.

🔗 Other actors