DealSeek Scraper — Deals & Promo Codes
Pricing
from $2.00 / 1,000 deals
DealSeek Scraper — Deals & Promo Codes
Scrape DealSeek deals, promo codes, coupons, and price drops from the public JSON API the Android app uses. Search by keyword or ASIN, filter promo-only or coupon-only, sort by discount. Prices, merchants, categories, and Amazon links. Paste any dealseek.com URL. JSON or CSV out.
Pricing
from $2.00 / 1,000 deals
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 hours ago
Last modified
Categories
Share
Turn any DealSeek URL or keyword into structured deal rows: stacked discounts, typed promo codes, checkout coupons, merchant, category, and Amazon links.
Live public API. No browser. JSON or CSV out.
| Input | Row(s) emitted |
|---|---|
Homepage, /hot, /top | Live deal feed |
/promo-codes | Deals that include a typed promo code |
/brand/{name} | Deals matching that brand query |
/dp/{ASIN} | That ASIN, if it is still on the live feed |
query keyword or ASIN | Matching deals (?query=) |
category | Matching Amazon category (Tech, Electronics, …) |
Pure HTTP against
https://api.dealseek.com/deals. No browser, no Cloudflare bypass.
Why Use This Scraper?
- Live feed, not a stale HTML scrape
- Promo codes and clip-at-checkout coupons on the same row
- Search by keyword or ASIN, or paste any dealseek.com URL
- Discount sort plus promo-only, coupon-only, and minimum-% filters
- DealSeek and Amazon links on every row
Overview
DealSeek lists verified markdowns across Amazon and other retailers. This actor reads the same public JSON API the Android app uses and writes one dataset row per deal.
Each row has identity (dealId, asin), money (price, discountedPrice, listPrice, discountPercentage), codes (promoCode, couponValue), merchant, category, ratings, and URLs.
This is a feed scraper. It does not open Amazon checkout, verify a code at Amazon, or read logged-in DealSeek wishlists.
Supported Inputs
Copy-pasteable startUrls:
https://dealseek.com/https://dealseek.com/hothttps://dealseek.com/promo-codeshttps://dealseek.com/brand/applehttps://dealseek.com/dp/B07KSY789L
Keyword / ASIN mode: set query to airpods or B07KSY789L. A /dp/{ASIN} or /brand/{name} start URL wins for that URL.
Unsupported: DealSeek account data, wishlists, and the unpublished deals:read OAuth scope. The website OpenAPI routes (/api/verify-promo, /api/report-deal) are not this actor's source.
Use Cases
| Who | Why |
|---|---|
| Retail arbitrage | Watch markdowns and codes as they land |
| Price research | Stacked discount % vs list vs deal price |
| Affiliate / content | Promo codes with last-updated timestamps |
| Category monitoring | Tech or Electronics feeds on a schedule |
How It Works
- Classify each start URL (feed, brand, promo listing, or
/dp/{ASIN}). - Call
GET https://api.dealseek.com/dealswithpage,limit, and optionalquery/category/sortBy. - Normalize each API object into a stable row.
- Apply optional client filters (promo-only, coupon-only, minimum discount).
- Write one dataset row per unique
deal_hash.
Input Configuration
| Field | Type | Required | Notes |
|---|---|---|---|
startUrls | array | no | Homepage, /hot, /top, /promo-codes, /brand/{name}, /dp/{ASIN} |
query | string | no | Keyword or ASIN (?query=) |
category | string | no | Exact DealSeek spelling (Tech, Electronics) |
sortBy | enum | no | default or discount |
onlyPromoCodes | boolean | no | Keep typed promo codes only |
onlyCoupons | boolean | no | Keep checkout coupons only |
minDiscountPercent | integer | no | Drop weaker markdowns |
maxItems | integer | no | Cap (free users: 100). Default 100 |
proxy | object | no | Off by default — the API is open |
q, search, has_promo_code, and collection query params are ignored by the API. Promo/coupon filters run after fetch.
Example input
{"startUrls": ["https://dealseek.com/"],"maxItems": 100}
Search:
{"query": "airpods","maxItems": 50}
Promo codes only, steepest first:
{"sortBy": "discount","onlyPromoCodes": true,"minDiscountPercent": 30,"maxItems": 100}
Output Overview
One JSON object per deal. Prices are numbers. Empty strings from the API become null. Unique key is dealId (deal_hash).
Output Samples
Feed or /dp/{ASIN} (live row, 2026-09-20):
{"type": "deal","source": "dealseek","dealId": "B07KSY789L-AP0PU5267UGRL-24.99-10.49-A1MIFLO2CFMTMY-20%----0-38.02-1789961100-50.00","asin": "B07KSY789L","parentAsin": "B07S2J82NB","title": "KRISHNA Ruffled Bed Skirt with Split Corners King, 100% Microfiber Hotel Quality, 18 Inch Drop Dust Ruffle Gathered Bedskirt with Platform, 78\" x 80\", Ivory","dealUrl": "https://dealseek.com/dp/B07KSY789L","amazonUrl": "https://www.amazon.com/dp/B07KSY789L","brandName": null,"merchantName": "WakeyWakey","merchantId": "AP0PU5267UGRL","category": "Home & Kitchen","subcategory": "Bedding","price": 24.99,"discountedPrice": 10.49,"listPrice": 30.99,"discountPercentage": 66.15,"priceDropPercentage": 32.28,"couponValue": "20%","promoCode": null,"hasCoupon": true,"hasPromoCode": false,"hasPriceDrop": true,"image": "https://m.media-amazon.com/images/I/71sYexyumqL._AC_SL1500_.jpg","avgRating": 4.4,"ratingsCount": 1263}
Key Output Fields
| Group | Fields |
|---|---|
| Identity | dealId, asin, parentAsin, title |
| Links | dealUrl, amazonUrl |
| Money | price, discountedPrice, listPrice, discountPercentage, priceDropPercentage |
| Codes | promoCode, couponValue, hasPromoCode, hasCoupon |
| Merchant | merchantName, merchantId, brandName, isFba |
| Taxonomy | category, subcategory, discounts |
| Social | avgRating, ratingsCount, likesCount |
| Dates | createdAt, lastUpdated, expiredAt, scrapedAt |
FAQ
Does this decompile the APK? No. The app talks to api.dealseek.com. That host is public (GET /deals, GET /collections, GET /health).
Why is brandName often null? The API leaves it empty on many rows. merchantName is the reliable seller field.
Can I page forever? The feed keeps returning deals well past page 100. Use maxItems.
Single deal URL returned nothing? The ASIN may have dropped off the live feed. Try query with the ASIN.
Do I need a proxy? Not by default. Turn one on only if your run IP is blocked.
Pricing
| Event | When | Rate |
|---|---|---|
| Actor start | Once per run, per GB of memory | $0.005 |
| Deal | Each row written to the default dataset | $0.002 ($2 / 1,000 deals) |
Failed fetches and empty pages are not billed as deals. Free Apify users are capped at 100 rows per run.
What makes this richer than the competition
There is no other DealSeek actor on the Store. Nearby deal scrapers (Slickdeals, DealNews, Groupon) return community posts, not DealSeek's verified feed with stacked discount math and typed promo codes.
Notes & limitations
/deals/{asin}does not exist; single-ASIN lookup uses?query={asin}- Collection slugs from
GET /collectionsare not a/dealsfilter - Category must match DealSeek's spelling (
Techworks;techreturns []) brandNameis often empty; usemerchantName
Support
Open an issue on the actor page. Profile: apify.com/memo23.
Additional Services
Custom fields, scheduled monitors, and private feeds — ask on the actor issues tab.
Explore More Scrapers
- eBay Search Scraper — active and sold listings across eBay markets
- StockX Scraper — resale asks, bids, and last sale
- Google Play Scraper — apps, reviews, search, developer emails
Full list at apify.com/memo23.
🤖 For AI Agents & LLM Apps
Compact reference for AI agents calling this actor via the Apify MCP server or the Apify API (actor: memo23/dealseek-scraper).
Purpose: scrape live DealSeek deals from the public JSON API; one row per deal with prices, promo codes, coupons, merchant, and Amazon URL.
Minimal input:
{ "startUrls": ["https://dealseek.com/"], "maxItems": 20 }
Output: one dataset row per deal — dealId, asin, title, dealUrl, amazonUrl, price, discountedPrice, listPrice, discountPercentage, promoCode, couponValue, hasPromoCode, hasCoupon, merchantName, category, image, scrapedAt.
Behaviors an agent should know:
- Always set
maxItems; the feed pages past 100 /dp/{ASIN}and/brand/{name}overridequeryfor that URLonlyPromoCodes/onlyCoupons/minDiscountPercentrun after fetch- Free users are capped at 100 rows
- Billing: $0.005 actor start (per GB) + $0.002 per deal row; empty pages are not charged
- No login, wishlist, or Amazon checkout verification
⚠️ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by DealSeek LLC or Amazon.com, Inc. or any of their subsidiaries. All trademarks mentioned are the property of their respective owners.
The scraper accesses only publicly available DealSeek HTTP API listings — no authenticated endpoints, paid features, or content behind a DealSeek login wall. Users are responsible for ensuring their use complies with dealseek.com's Terms of Service, Amazon's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organization.
SEO Keywords
dealseek scraper, dealseek.com scraper, scrape dealseek, dealseek api, dealseek deals, dealseek promo codes, amazon promo code scraper, price drop scraper, coupon scraper, deal aggregator api, amazon deal feed, retail arbitrage data, promo code dataset, checkout coupon scraper, amazon asin deals