Trade Me Scraper
Spider read trademe.co.nz in 3.4 s without a browser and returned 409 lines of clean markdown.
Can the Buy-now price be adjusted once a bid (under the reserve price) has been made?This caught me out and I have a very upset prospective buyer. Nothing in the set up stage to warn sellers about this. Unscrupulous buyer asks for buy now when the auction is in progress. Must be a common ruse!The buy now price isn't showing on my listing that the public see, but is showing on my view. Why is this and how do I fix it? People are wanting a buy now which I would be happy with.Lynda, it probably means it has a bid above reserve, ie it's going to sell. I can look at my listings that have met reserve and can see the original start pricing including the Buy Now, but buyers can't of course. Once any auction has reached reserve the Buy Now option is no longer available.Thanks for the explanation! It makes sense because I think this is the first time I have put up a listing that wasn't higher than the start price. I know for the future. Regards!This caught me out too. I listed with a buy now and no reserve hoping that someone would see the value in the buy now. Ive got people asking about the buy now and its gone because someone has bid $1. Trademe really should be clearer with this for sellers.Andrew, the Help pages are quite clear, but it can take a bit to get your head around *hidden *reserves.* Buy Now is available until the reserve is met – after that, buyers need to bid until the auction ends.This is a truly moronic setting. There is nothing wrong with somebody swooping in and buying. If a bidder wants it badly, they should be able to use buy now even if the reserve has been met.This really sucks! Buy now should be available even after the reserve price is met. I don't see any reason to hide it. It is bad for buyers, sellers and trade me. If the bidders are bidding around $100 and someone wants it urgently and is happy to pay buy now of say $300, why would you prevent this?Dejan It's pretty obvious why it is like it is. Are you telling me that if you were the lead bidder on that item and were prepared to go to $600. You might even have had a $600 autobid locked in. Then someone comes along, asks for a buynow of $300 and the seller says yep, I'll sell it to you, too bad about Dejan you would honestly be happy with that? The same call, in code.
The capture above came back as markdown. These examples add a key, so you get browser rendering, proxies, and concurrency on trademe.co.nz.
import { SpiderBrowser } from "spider-browser";
const spider = new SpiderBrowser({
apiKey: process.env.SPIDER_API_KEY!,
});
await spider.connect();
const page = spider.page!;
await page.goto("https://www.trademe.co.nz/a/marketplace/computers/laptops");
// No selectors, no schema. Spider reads the page and names the fields.
const data = await page.scrape();
console.log(data);
await spider.close(); import { SpiderBrowser } from "spider-browser";
const spider = new SpiderBrowser({
apiKey: process.env.SPIDER_API_KEY!,
stealth: 2,
});
await spider.connect();
const page = spider.page!;
await page.goto("https://www.trademe.co.nz/a/marketplace/computers/laptops");
await page.content(10000);
const data = await page.evaluate(`(() => {
const items = [];
document.querySelectorAll("[data-testid='ListingCard']").forEach(el => {
const name = el.querySelector("[data-testid='ListingCard-title']")?.textContent?.trim();
const price = el.querySelector("[data-testid='ListingCard-price']")?.textContent?.trim();
const location = el.querySelector("[data-testid='ListingCard-location']")?.textContent?.trim();
if (name) items.push({ name, price, location });
});
return JSON.stringify({ total: items.length, items: items.slice(0, 10) });
})()`);
console.log(JSON.parse(data));
await spider.close(); Ready for volume? Get an API key →
Fields you can pull.
Spider names these from the page. The capture above came back as markdown; the same
call with return_format: "json" returns them as keys.
What trademe.co.nz costs to scrape.
The capture above cost $0.000408 to fetch. Pricing is $1 per GB of pre-transformation bandwidth plus $0.001 per CPU minute, so a page like this one lands at a fraction of a cent. Failed requests are billed at $0.
- Free balance on signup
- No card required to test
- Balance never expires
Run it keyless, no account
More International scrapers.
Mercado Libre Scraper
Extract product listings, seller ratings, pricing in local currencies, and shipping data from Mercado Libre.
Rakuten Scraper
Extract product listings, store ratings, cashback offers, and pricing data from Rakuten Japan marketplace.
Flipkart Scraper
Extract product listings, seller data, pricing in INR, and delivery estimates from Flipkart India store.
Start scraping trademe.co.nz.
You already have the call. A key raises the rate limit and turns on browser rendering, proxies, and concurrency. Balance never expires, and top-ups go through secure checkout.