Skip to main content

// researcher

Six lanes. One queue of candidates.

The Researcher looks for products in the Meta Ad Library, AliExpress trends, competitor bestsellers, Google search results, review sites and spy-tool lists. It scores each candidate and looks for a supplier, so what reaches you is a short queue to decide on, not a spreadsheet to read.

Beta Beta: switched on per store under Beta features 6 discovery lanes Reverse-image suppliers Approved products land as Shopify drafts
candidate queue · example

Ribbed Bamboo Sleep Set

meta_ads_lib · google_organic

74

Linen Beach Wrap (Sand)

aliexpress_trends

66

Magnetic Sand-Free Mat

spy_tools · meta_ads_lib

52

Foldable Travel Kettle

competitor_bestsellers

44

USB-C Beard Trimmer

trustpilot

21
60+ approved · 30–60 to you · under 30 rejectedweekly cycle

// discovery lanes

Where candidates come from.

Six lanes, each with its own source and its own bias. The candidate scorer combines what they found into one score per product.
01

Meta Ad Library

Products advertised continuously for 30 days or more in the public Meta Ad Library. An ad that keeps running is usually paying for someone.

// source

Meta Ad Library API

02

AliExpress trends

AliExpress listings sorted by orders and scored on order count and growth, so products that are starting to sell surface early.

// source

AliExpress search

03

Competitor bestsellers

Best-seller collections of competitor Shopify stores, read from their public catalog. A product that shows up in several stores' bestsellers counts for more.

// source

Storefront crawl

04

Google search

Paid and organic Google results for your categories, to find the stores and products someone is already spending money to sell.

// source

DataForSEO SERP

05

Review sites

Store domains found on Trustpilot review pages. A Trustpilot listing points to an organised shop, which makes its catalog worth a look.

// source

Trustpilot search

06

Spy tools

Store lists published by SellerCenter and Xpareto, filtered hard against a skiplist of platforms and marketplaces because the raw lists are noisy.

// source

Public store lists

// candidate_scorer

Score a candidate like an operator would.

Each candidate is scored from 0 to 100 on seven weighted components. Only the components that were actually measured count toward the score, and a verdict needs at least half of the weight behind it, so a candidate with thin evidence goes to you instead of being decided.

margin_feasibility

w=0.25

Competitor price against supplier cost. A ratio of 2.5x or more scores high.

cross_store_count

w=0.20

How many competitor stores carry the product.

ad_duration_signal

w=0.15

How long the product has been advertised in the Meta Ad Library.

aliexpress_orders

w=0.15

Order count on AliExpress.

non_saturation

w=0.10

Distance from what is already in your catalog. Near-duplicates score low.

price_band_match

w=0.10

Whether the price fits your store's usual price range.

supplier_match_quality

w=0.05

Whether a clean supplier match was found.

research_candidates · example
title          : "Ribbed Bamboo Sleep Set"
source_lane    : meta_ads_lib
source_url     : https://facebook.com/ads/library/…

candidate_score: 74 / 100  APPROVED
  ├─ margin_feasibility : 3.1x  (€79 vs €25.50)
  ├─ cross_store_count  : 4 stores
  ├─ ad_duration_signal : 41 days running
  ├─ aliexpress_orders  : not measured
  ├─ non_saturation     : far from your catalog
  ├─ price_band_match   : inside your range
  └─ supplier_match     : found via reverse-image
evidence_weight: 0.85

next           : onboard as Shopify draft

// supplier_matcher

Reverse-image to the supplier, in one step.

Pretty product, no supplier? Magistry runs the candidate image through reverse-image search, keeps the results that come from supplier sites such as AliExpress, Alibaba and CJdropshipping, and reads the listing price where the page shows one.

Reverse-image search

Reverse-image search matches the candidate image to supplier listings of the same product.

Supplier price as cost

The matched listing price feeds the margin score and gives the product a Tier B cost estimate until a real cost is set.

Carried into onboarding

When the candidate is approved, its supplier cost travels with it into onboarding and pricing, and the Catalog Specialist takes it from there.

supplier matches · example
reverse-image results, supplier hosts only

#1 aliexpress.com/item/100501…
   price:  €10.80
   → used as Tier B cost

#2 alibaba.com/product/72441…
   price:  not shown on the page

#3 cjdropshipping.com/product/…
   price:  €11.20
              

// operator review

A queue, not a spreadsheet.

Candidates the score cannot settle wait in /dashboard/candidates. Approve one and the next onboarding run picks it up; reject one and it leaves the queue.
01

Candidate lands

Each lane writes into research_candidates. A row carries its source_lane, source_url, the signals behind it, candidate_score and supplier_match if one was found.

02

Score decides, or you do

Above 60 with enough evidence, a candidate is approved for onboarding. Below 30 with enough evidence, it is rejected. Everything in between waits in /dashboard/candidates for you.

03

Onboarding

Approved candidates get LLM-written copy, a computed price and checked image URLs, and are created in Shopify as draft products, within a weekly cap per store.

04

Track the bet

Each onboarded product stays linked to the candidate it came from, so you can see which lane found it and how it did.

Onboarding is a state, not a script. An onboarded product lands in Shopify as a draft, in the DRAFTED state, and the Catalog Specialist's sync / classify / decide / execute loop owns the rest. Every move from there is a decision_log row you can read.

// researcher

Stop scrolling spy tools at midnight.

The research cycle runs weekly for each store that has it switched on. Candidates are scored and matched to suppliers before you see them. The Researcher is in beta, so the best way to see it on your catalog is a demo.

Beta · 6 lanes · Reverse-image supplier matching