Swappie Spain iPhone Scraper avatar

Swappie Spain iPhone Scraper

Pricing

from $100.00 / 1,000 results

Go to Apify Store
Swappie Spain iPhone Scraper

Swappie Spain iPhone Scraper

Scrape Swappie Spain refurbished iPhone listings with model, storage, condition, price, availability, URL, and image data for market price monitoring.

Pricing

from $100.00 / 1,000 results

Rating

0.0

(0)

Developer

Agents AI.

Agents AI.

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

1

Monthly active users

4 days ago

Last modified

Share

swappie-spain-scraper

Apify actor autoclient/swappie-spain-scraper (id DVZaqEjmkbxW2O4Hd). Deploy mode GIT_REPO (#main) — every push to this private repo auto-triggers an Apify build tagged latest via a GitHub push webhook. Schemas drift; the input/output below were captured live on 2026-05-29 — re-verify before relying.

What this is

SUB price source for spain-multiplatform-price-scraper. Scrapes swappie.com/es by search slug, derives the model page, selects storage, and enumerates the grade tiles on the model page. For Apple/iPhone, 0 rows or missing grade prices are unresolved actor extraction evidence until raw page/log proof shows the controls or prices truly do not exist.

Current authoritative truth (2026-05-30)

Use main.js, the live schema, and a fresh run as authority.

  • Recommended deterministic input is a storage-bearing search (for example iphone-15-128gb), not a model-only slug.
  • Model-only search can surface the wrong storage page while still returning rows.
  • Only confirmed grade-price rows should contribute to pricing. Unconfirmed iPhone grades must be emitted or reported as price_unconfirmed / extraction failure with raw proof, not guessed, silently dropped, or explained as stock/availability no_data.
  • Selected-grade proof must come from the grade radiogroup. If a debug log reads initialSelectedGrade: "128 GB", the actor is still reading the storage selector and any flat-price conclusion is invalid until the selector scope is fixed.

Input schema

fieldtypereqdefaultenumdescription
searchstringiphoneProduct model or keyword to search for (e.g., 'iphone', 'iphone 15 pro')
maxItemsinteger10Maximum number of products to scrape

Historical input sample (2026-05-29)

This sample is dated. For storage-locked runs, prefer a storage-bearing search such as iphone-16-128gb.

{
"search": "iphone-16",
"maxItems": 3
}

Raw output (first dataset item, 2026-05-29)

{
"title": "iPhone 16",
"subtitle": "256GB | Satisfactorio",
"price": "599 €",
"storage": "256GB",
"condition": "Satisfactorio",
"stock": "In Stock",
"inStockColors": [
"Negro",
"Blanco",
"Rosa",
"Verde azulado"
],
"outOfStockColors": [
"Ultramarino"
],
"url": "https://swappie.com/es/iphone/iphone-16/iphone-16-128gb-verde-azulado-10/",
"search_query": "iphone-16"
}

Grade mapping (Swappie Spain Scraper → IWAKY)

Source conditionIWAKY grade
PremiumNUEVO
ExcelenteA
Muy BuenoAB
SatisfactorioB

The actor enumerates the 4 grade tiles on the model page itself; grade is parsed from each tile's condition label. No per-grade input key. Sanity-check malformed storage (historically 13128 GB).

Role in the pipeline

Called by spain-multiplatform-price-scraper (the orchestrator) by actor id DVZaqEjmkbxW2O4Hd. This actor is a fetcher, not a final matcher — exact model/storage/grade validation and rejection-with-reason happen in the orchestrator's deterministic filter. A green SUCCEEDED only means the container exited; business-correct output requires row-level model/storage/grade checks downstream.

Deploy

  • Source: this repo, branch main, Apify sourceType=GIT_REPO.
  • Push to main → GitHub webhook → POST /v2/acts/DVZaqEjmkbxW2O4Hd/builds?...&tag=latest&useCache=true → Apify rebuilds, tags latest. The IWAKY app runs latest.
  • A queued webhook is not deploy proof — confirm the build SUCCEEDED and the actor still returns rows before relying.