How Scraping Works
The auction data is collected automatically — no external server, no login, and no bot account required. The Second Life auctions page is publicly accessible, so a scheduled Base44 backend function fetches and parses it once a day.
Why no login is needed
places.secondlife.com/auctions renders all three auction tabs (Open, Scheduled, Recently Closed) as plain HTML server-side. No Second Life account is required to view it.
The scraper function
A backend function called scrapeAuctions does all the work:
- Fetches the public auctions page with a standard HTTP request.
- Parses the Recently Closed Auctions table for each closed auction: region, maturity, size, winning bid, L$/sqm, bidder count, end date, and auction ID.
- Deduplicates by auction ID — new auctions are inserted, existing ones are updated only if the bid or bidder count changed.
- For new auctions, fetches the parcel detail page to capture the full bid history (amount + timestamp for each bid).
Daily schedule
A scheduled automation runs scrapeAuctions once a day (around 6:00 AM your time). Each run adds the newly closed auctions to the database, so the history grows automatically over time.
The first run populates the most recent batch of closed auctions; after that, new closed auctions appear within a day of closing.
Run it manually
You don't have to wait for the schedule. To populate the database right now:
- Go to your Base44 dashboard → Code → Functions → scrapeAuctions.
- Click Test (or invoke it) to run the scraper immediately.
- Refresh this site — the auctions will appear in the table.
Optional: push data from your own scraper
If you ever want to run your own external scraper and push data in, the ingestAuctions endpoint is still available. It accepts a JSON batch of auctions and bid histories, secured by the SCRAPER_API_KEY secret. This is optional — the built-in scheduled scraper covers the normal use case.
