Marketplace Arbitrage Score ๐ (resale margin vs eBay comps)
Pricing
from $1.40 / 1,000 listing scoreds
Marketplace Arbitrage Score ๐ (resale margin vs eBay comps)
Score the resale margin on any marketplace listing. Matches Craigslist or Subito listings to eBay price comps and returns the spread: what you'd clear after fees vs the buy price. Asking-price comps by default; add your eBay session to unlock real sold comps. No API key, platform usage included.
Pricing
from $1.40 / 1,000 listing scoreds
Rating
0.0
(0)
Developer
Tagada Data
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Marketplace Arbitrage Score ๐
Score the resale margin on any marketplace listing. Give it a product (or a marketplace search URL) and it pulls the listings, matches each one to eBay price comps, and tells you the spread: what you'd clear reselling on eBay after fees, versus the buy price. Buy-low / sell-high sourcing, in one run.
It generalises the deal-score idea (asking price vs a market benchmark) from property to resellable goods โ the benchmark here is the median eBay comp for the same item, matched title-by-title.
What you get
For every marketplace listing (a recordType: "listing" row):
| field | meaning |
|---|---|
listingPrice / currency | the buy price on the marketplace |
compValue | benchmark eBay comp price, in the listing's currency |
compBasis | sold (real sold prices โ needs your eBay cookie) or asking (live listing prices โ the default) |
netResale | compValue ร (1 โ fees%) โ what you clear after selling fees |
spread | netResale โ listingPrice |
arbitrageScore | resale ROI % = spread / buyPrice ร 100 (positive = profit) |
arbitrageLabel | Strong flip / Good flip / Thin margin / Around break-even / Underwater |
confidence | high / medium / low (from comp count, price spread, match quality, FX) |
matchQuality | how well the listing matched its comps (strong / weak / none) |
Plus one recordType: "summary" row per search, carrying the comp basis and the
aggregate score (how many listings, how many profitable, best/median spread).
Sold vs asking comps (important)
Since July 2026, eBay shows sold prices only to signed-in visitors. So:
- Without a cookie (default): comps are eBay live asking prices, always
labeled
compBasis: "asking". Asking prices run higher than realized sales, so the score is optimistic โ confidence is capped at medium to say so. - With your eBay cookie: comps are real sold prices (
compBasis: "sold") โ the number resellers actually want. Paste your signed-in eBay session into eBay sign-in cookies: either the JSON export of a cookie extension like Cookie-Editor, or the rawCookie:header from your browser's DevTools. It is stored encrypted and never logged.
The actor never labels a price as sold unless you provided a cookie.
Input
| field | required | notes |
|---|---|---|
source | โ | craigslist (US, USD) or subito (Italy, EUR). Default craigslist. |
query | one of query/URLs | product searches, e.g. ["nintendo switch", "airpods pro"] โ up to 12 per run |
listingUrls | one of query/URLs | marketplace search-page URLs, pasted from your browser โ up to 12 per run |
location | โ | Craigslist city subdomain (e.g. sfbay, newyork) or Subito region slug |
ebayCookie | โ | your signed-in eBay session โ unlocks sold comps |
feesPct | โ | selling fees deducted from the comp (default 13, eBay's ~final value fee) |
maxItems | โ | total listings to score (default 25, max 1,000) |
Example
{"source": "craigslist","query": ["nintendo switch"],"location": "newyork","feesPct": 13,"maxItems": 25}
The run also watches its own clock. Each search costs one eBay comps lookup on
top of its marketplace pages, so a long list of searches can outlast the run
timeout. When that happens the actor stops collecting while there is still time
to score, charge and deliver everything it has already collected, and the run
finishes successfully with a status message saying so: "Stopped at the run
time limit: N rows delivered, raise the run timeout or lower maxItems." A
listing whose comps were lost to the clock ships with
compUnavailableReason: "run-time-limit" โ never as "no results".
How the match works
The eBay comps are fetched once per search and each marketplace listing is
matched โ by title tokens, weighting model/capacity numbers ("13", "128gb",
"oled") โ to the subset of comps describing the same good. So a single "nintendo
switch" search correctly benchmarks an OLED console against OLED comps and a
Joy-Con pair against Joy-Con comps, without a separate eBay lookup per listing.
Prices in a different currency than the comp are converted with a static,
approximate FX rate and flagged fxApplied.
Pricing
All-in pricing โ platform usage (proxies, compute) is included, no API key, no separate proxy bill. Per-search summary rows are free.
| Event | Price | When |
|---|---|---|
| Actor start | $0.001 | Flat, once per run |
| eBay comps fetched | $0.025 | Once per search whose eBay comp set was obtained (never when eBay was blocked or empty) |
| Listing scored | $2.00 per 1,000 | Per marketplace listing delivered, scored or explicitly unscored |
The comp fetch is one fixed lookup per search whatever maxItems is, so scoring
25 listings costs about the same as scoring 5; set maxItems to what you will
actually read.
Notes
- Not affiliated with eBay, Craigslist or Subito. Respect each site's terms.
- Asking-price comps are an estimate of resale value, not a guarantee; sold comps (with your cookie) are the realistic figure.
