Cashify Refurbished Products Scraper
Pricing
from $0.27 / 1,000 cashify product extracteds
Cashify Refurbished Products Scraper
π± Extract public Cashify India refurbished-device prices, MRP, discounts, ratings, stock, warranty, membership prices, images, and product URLs.
Pricing
from $0.27 / 1,000 cashify product extracteds
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract structured refurbished-device catalog data from public Cashify India category pages. Get current INR prices, MRP, discount, membership price, ratings, inventory signals, warranty labels, images, and product links in one export-ready dataset.
Use this Cashify scraper for recurring price monitoring, reseller sourcing, catalog comparison, assortment research, or competitive intelligence. It uses an HTTP-first workflow, so normal runs are fast and do not launch a browser.
- π± One row per unique refurbished product
- π° Numeric price and discount fields ready for analysis
- π¦ Inventory and availability signals when Cashify exposes them
- π Direct product and image URLs
- π Optional linked-brand collection discovery
- π€ CSV, JSON, Excel, XML, RSS, and API exports through Apify
What does Cashify Refurbished Products Scraper do?
The Actor visits public Cashify refurbished-mobile category or collection pages and extracts the structured product catalog embedded in each page. It normalizes every discovered product into a stable dataset record.
A record can contain:
- Cashify product, catalogue, discovery, and variant identifiers
- product title and type
- current price and crossed-out MRP in INR
- discount amount and percentage
- Cashify membership, effective, and channel prices
- monthly EMI amount
- rating and rating count
- inventory count and normalized availability
- sale badge, tags, warranty, and assurance label
- product URL, source collection URL, and image URL
- scrape timestamp
Products repeated across multiple collections are deduplicated by Cashify product ID.
Who is it for?
Indian used-device resellers
Track acquisition and market prices across Cashify's refurbished assortment. Compare brands, find meaningful discounts, and feed shortlisted products into sourcing workflows.
Price-comparison and catalog teams
Create a normalized product feed for dashboards, spreadsheets, internal search, or product matching. Numeric INR values avoid extra currency-cleaning steps.
Refurbishers and distributors
Observe assortment, stock signals, warranty labels, and price movement on recurring schedules. Use snapshots to support supply and pricing decisions.
Market analysts
Measure brand mix, discount depth, rating distribution, and changes in available inventory. Combine scheduled datasets with BI tools for historical analysis.
Developers and data engineers
Call the Actor from Node.js, Python, cURL, webhooks, or MCP. Integrate the output with databases and downstream enrichment pipelines.
Why use this Cashify catalog extractor?
Cashify pages are designed for shoppers, not bulk analysis. Copying cards manually is slow, inconsistent, and difficult to repeat. This Actor turns public catalog pages into structured records with predictable fields.
Benefits include:
- β‘ HTTP-first extraction without browser startup overhead
- π§± structured embedded-state parsing instead of fragile visual text matching
- π― strict validation of supported Cashify collection URLs
- π‘οΈ bounded collection discovery and conservative requests
- β»οΈ product-ID deduplication across overlapping brand pages
- β non-zero failure when Cashify returns no extractable products
- π ISO timestamps for every snapshot
What Cashify data can I extract?
| Field | Description | Example |
|---|---|---|
productId | Full Cashify catalog identifier | prod-estore-refurbished-catalogue|6711 |
catalogueId | Compact catalog ID | 6711 |
title | Refurbished product name | Apple iPhone 11 - Refurbished |
currentPriceInr | Current sale price | 15899 |
mrpInr | Crossed-out MRP | 39499 |
discountAmountInr | MRP minus current price | 23600 |
discountPercent | Calculated whole-number discount | 60 |
membershipPriceInr | Cashify membership price | 14993 |
emiAmountInr | Displayed monthly EMI | 795 |
rating | Average customer rating | 4.5 |
ratingCount | Number of ratings | 4603 |
inventory | Inventory signal exposed by Cashify | 21 |
available | Normalized inventory availability | true |
warranty | Warranty labels | ["Cashify Warranty"] |
productUrl | Absolute product URL | Cashify product page |
imageUrl | Absolute image URL | Cashify CDN image |
scrapedAt | UTC extraction time | ISO 8601 timestamp |
Optional fields are omitted when the source does not expose them.
How much does it cost to scrape Cashify products?
The Actor uses pay-per-event pricing:
- a small run-start fee
- one product event for each unique dataset row
The exact active price is displayed in the Apify Console before every run.
Tier discounts may reduce the per-product price on higher Apify plans.
You pay for delivered unique product records, while maxItems and maxCollectionPages keep spending bounded.
For a cheap first test, use the prefilled input: one collection page and at most 10 products. Always consult the live pricing panel for the authoritative total.
How to scrape Cashify refurbished products
- Open the Actor input page.
- Keep the prefilled lowest-price collection or add another supported Cashify refurbished category URL.
- Set Maximum products to the number of unique rows you need.
- Choose whether to follow linked brand collections.
- Bound the number of requested collection pages.
- Click Start.
- Review the dataset table.
- Export to JSON, CSV, Excel, XML, or another supported format.
- Save the run as a task if you want recurring snapshots.
Input parameters
startUrls
An array of public Cashify URLs under:
https://www.cashify.in/buy-refurbished-mobile-phones/
Use category or collection pages, not individual renewed-* product detail URLs.
Non-Cashify hosts and unrelated paths are rejected.
If omitted through the API, the Actor uses the lowest-price collection.
maxItems
Global maximum number of unique products to save. Allowed range: 1 to 10,000. A small number is best for a smoke test.
followLinkedCollections
When enabled, the Actor discovers public brand/category links visible on collection pages.
This can broaden coverage beyond the first collection while still respecting maxCollectionPages.
maxCollectionPages
Maximum number of category or collection pages requested during one run. Allowed range: 1 to 50. Use a low value for focused monitoring and a higher value for broader snapshots.
Example input
{"startUrls": [{ "url": "https://www.cashify.in/buy-refurbished-mobile-phones/lowest-prices" }],"maxItems": 20,"followLinkedCollections": true,"maxCollectionPages": 3}
For an Apple-only snapshot:
{"startUrls": [{ "url": "https://www.cashify.in/buy-refurbished-mobile-phones/apple" }],"maxItems": 10,"followLinkedCollections": false,"maxCollectionPages": 1}
Example output
{"productId": "prod-estore-refurbished-catalogue|6711","catalogueId": "6711","productDiscoveryId": 22923,"variantId": 107966,"title": "Apple iPhone 11 - Refurbished","productType": "Mobile Phone","productUrl": "https://www.cashify.in/buy-refurbished-mobile-phones/renewed-apple-iphone-11","sourceUrl": "https://www.cashify.in/buy-refurbished-mobile-phones/lowest-prices","currentPriceInr": 15899,"mrpInr": 39499,"discountAmountInr": 23600,"discountPercent": 60,"membershipPriceInr": 14993,"rating": 4.5,"ratingCount": 4603,"inventory": 21,"available": true,"warranty": ["Cashify Warranty"],"scrapedAt": "2026-07-24T00:00:00.000Z"}
Values change on the live source, so this example illustrates shape rather than a guaranteed offer.
Tips for reliable Cashify monitoring
- π§ͺ Start with 10 products and one collection page.
- π― Disable linked collections when you only need one brand.
- π Use Apify schedules for daily or weekly snapshots.
- π§© Match records by
productIdorcatalogueId, not title alone. - π Compare
scrapedAttimestamps when building price histories. - π Calculate price changes from numeric INR fields.
- π Treat a failed run as a source or extraction problem; the Actor does not silently return an empty success.
- π¦ Remember that inventory is a source-exposed signal, not a fulfillment guarantee.
Scheduling price and stock snapshots
Create an Apify task with your chosen input, then attach a schedule. A common workflow is one run every morning with results sent through a webhook. Store each run's dataset in a warehouse keyed by product ID and snapshot time.
Useful alerts include:
- current price dropped below a threshold
- discount increased by more than five percentage points
- product changed from unavailable to available
- membership price changed
- a new product ID appeared in a tracked collection
Integrations
Google Sheets price tracker
Send dataset rows to Google Sheets through Make or Zapier. Use one sheet for the latest state and another for append-only history.
Slack or email discount alerts
Filter rows where discountPercent exceeds your target.
Trigger a Slack message or email with the title, current price, and product URL.
BigQuery or Snowflake history
Load each scheduled dataset into a partitioned table.
Join on productId and compare prices over time.
Airtable sourcing queue
Create Airtable records for available products below your sourcing threshold. Preserve the source URL and scrape timestamp for review.
Webhooks
Attach a webhook to the Actor run and start downstream processing as soon as the run succeeds.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/cashify-refurbished-products-scraper').call({startUrls: [{ url: 'https://www.cashify.in/buy-refurbished-mobile-phones/lowest-prices' }],maxItems: 20,followLinkedCollections: true,maxCollectionPages: 3,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
API usage with Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/cashify-refurbished-products-scraper').call(run_input={'startUrls': [{'url': 'https://www.cashify.in/buy-refurbished-mobile-phones/apple'}],'maxItems': 10,'followLinkedCollections': False,'maxCollectionPages': 1,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
API usage with cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~cashify-refurbished-products-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls": [{"url":"https://www.cashify.in/buy-refurbished-mobile-phones/lowest-prices"}],"maxItems": 10,"followLinkedCollections": false,"maxCollectionPages": 1}'
Fetch dataset items after the run finishes using the returned dataset ID.
Use Cashify scraper with MCP
Connect the Actor to Claude Code:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/cashify-refurbished-products-scraper"
For Claude Desktop, Cursor, or VS Code, add this server configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/cashify-refurbished-products-scraper"}}}
Example prompts:
- βRun the Cashify scraper for the Apple refurbished collection and return the five largest discounts.β
- βCreate a table of available Cashify phones under INR 25,000.β
- βCompare current price and MRP for the lowest-price collection.β
- βSave a 50-product Cashify snapshot for my reseller research.β
Data quality and field semantics
Prices are integers or numbers in Indian rupees.
The Actor calculates discount amount and percentage from current price and MRP.
Availability is true when Cashify exposes inventory greater than zero.
Ratings and inventory are omitted if the source does not provide them.
The Actor preserves multiple source price concepts because they may serve different workflows:
currentPriceInr: sale price, falling back to effective pricemembershipPriceInr: displayed membership offereffectivePriceInr: source effective pricechannelPriceInr: source channel pricemrpInr: crossed-out maximum retail price
Error handling and troubleshooting
Why did my URL fail immediately?
The Actor only accepts Cashify refurbished-mobile category or collection paths.
Check the hostname and ensure the path starts with /buy-refurbished-mobile-phones/.
Individual product detail URLs are outside the collection input contract.
Why did the run report no products?
Cashify may have changed its page structure or returned an incomplete response. Retry once with the public page in a browser. If products are visible but the Actor still fails, share the run with the Actor developer so the extractor can be updated.
Why are fewer products returned than maxItems?
maxItems is a ceiling, not a promise.
The chosen pages may contain fewer unique products, and duplicates across collections are only saved once.
Enable linked collections or provide more collection URLs for broader coverage.
Why is an optional field missing?
Cashify does not expose every field for every product. Missing optional values are omitted instead of filled with misleading defaults.
Is it legal to scrape Cashify?
This Actor accesses publicly visible catalog information and does not bypass login controls. Scraping legality depends on your jurisdiction, intended use, volume, and contractual obligations. You are responsible for complying with applicable laws, Cashify's terms, privacy rules, and intellectual-property requirements.
Use conservative schedules, avoid collecting personal data, and do not overload the source. This documentation is not legal advice.
Limitations
- The v1 scope is public refurbished-mobile category and collection pages on Cashify India.
- Product detail-page specifications and checkout availability are not crawled.
- A collection's server-rendered catalog may expose a bounded set of products.
- Linked discovery follows only public refurbished category links and respects the page limit.
- Source values can change between the scrape and a purchase decision.
- Cashify may change fields or delivery methods without notice.
Related scrapers
Build a broader commerce intelligence workflow with other automation-lab Actors:
Choose the Actor that matches the source you need. Do not substitute another marketplace's fields for Cashify-specific price and inventory signals.
FAQ
Does the Actor require a Cashify account?
No. It uses public catalog pages and does not log in.
Does it use a browser?
No for the current v1 route. It parses structured server-rendered data over HTTP.
Can I scrape several Cashify brands in one run?
Yes. Add several supported collection URLs or enable linked collection discovery.
Are prices returned as strings?
No. INR price fields are numeric, which makes filtering and calculations easier.
How are duplicates handled?
The Actor deduplicates products globally by Cashify product ID during the run.
Can I schedule it?
Yes. Save the input as an Apify task and attach a daily, weekly, or custom schedule.
Can I export to Excel?
Yes. Apify datasets support Excel, CSV, JSON, XML, and other export formats.
Does available guarantee stock?
No. It reflects the inventory signal exposed by Cashify at scrape time.
Can I request more than 10 products?
Yes. Increase maxItems and provide or discover multiple collection pages.
Actual output depends on unique products exposed by those pages.
Where should I report a problem?
Use the Issues tab on the Actor page and include a shareable run URL, input, and expected result.