Swappa Listings Scraper avatar

Swappa Listings Scraper

Pricing

from $16.00 / 1,000 swappa listings

Go to Apify Store
Swappa Listings Scraper

Swappa Listings Scraper

Scrape public Swappa marketplace listings for prices, condition, device attributes, seller details, images, and optional detail-page enrichment for resale and inventory research.

Pricing

from $16.00 / 1,000 swappa listings

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

Share

Extract public Swappa marketplace listings into a clean dataset for price monitoring, inventory research, resale analysis, and used-device market comparisons. The Actor accepts Swappa product-listing pages and individual public listing URLs, follows pagination, deduplicates by listing code, and can optionally open every detail page.

What it extracts

Field groupExamples
ListinglistingId, productName, headline, detailUrl, featured status, badges
Priceprice, currency, priceValidUntil, availability
Devicecondition, battery health, storage, color, carrier, model number, GTIN
Sellerpublic display name, profile URL, star rating, rating count, ships-from location
Mediacard image or full image gallery when detail enrichment is enabled
Detail enrichmentseller description, damage disclosure, creation/update/expiry dates
Provenancesource URL, scrape timestamp, enrichment status, record warning

The dataset contains only listing records. Run-level warnings and access diagnostics are written to the OUTPUT key-value-store record so they do not pollute the business dataset.

Free-plan result limit

Verified Apify free-plan runs return at most 5 unique listing records per run, even if maxResults is higher. Upgrade your Apify plan to request more than five records in one run; paid users retain the requested maxResults cap.

When to use it

  • Monitor asking prices and inventory for a specific phone, laptop, watch, tablet, camera, or other Swappa product page.
  • Compare condition, storage, carrier, color, battery-health, and seller-location distributions.
  • Track public listings from a filtered Swappa URL you already use in a browser.
  • Enrich a short list of individual listing URLs with seller disclosures and gallery images.

Do not use this Actor for login-only pages, buying or selling actions, account data, messages, CAPTCHA solving, or bypassing access controls. It scrapes public listing information only.

Input

FieldTypeDefaultDescription
startUrlsarrayunlocked iPhone 15 listingsPublic /listings/... product pages or /listing/view/... detail pages on swappa.com
maxResultsinteger20Maximum unique listing records, from 1 to 500
maxPagesinteger3Maximum product result pages, from 1 to 20
includeDetailsbooleanfalseOpen each listing for description, damage notes, dates, badges, and full images
proxyConfigurationobjectApify US proxy groupBrowser-session proxy settings; keep the default for reliable Cloudflare access

Fast card-level run

{
"startUrls": [
{ "url": "https://swappa.com/listings/apple-iphone-15?carrier=unlocked" }
],
"maxResults": 20,
"maxPages": 2,
"includeDetails": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["BUYPROXIES94952"],
"apifyProxyCountry": "US"
}
}

Detail-enriched run

{
"startUrls": [
{ "url": "https://swappa.com/listing/view/LAJB10743" }
],
"maxResults": 1,
"maxPages": 1,
"includeDetails": true,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["BUYPROXIES94952"],
"apifyProxyCountry": "US"
}
}

With the Apify API, send the same JSON as the Actor run input. Results are available through the default dataset URL exposed in the Actor output schema.

Output example

{
"listingId": "LAJB10743",
"productName": "Apple iPhone 15",
"brand": "Apple",
"headline": "iPhone 15 unlocked",
"description": null,
"damageDescription": null,
"price": 335,
"currency": "USD",
"priceValidUntil": "2026-09-02",
"condition": "Good",
"batteryHealthPercent": 83,
"storage": "128GB",
"color": "Black",
"carrier": "Unlocked",
"modelNumber": "A2846",
"gtin": "00784956710571",
"availability": "InStock",
"featured": true,
"imageCount": 5,
"imageUrls": ["https://static.swappa.com/images/cache/example.jpg"],
"paymentMethods": ["PayPal"],
"listingBadges": [],
"sellerName": "Example Electronics",
"sellerProfileUrl": "https://swappa.com/user/ABC123/profile",
"sellerRating": 4.9,
"sellerRatingCount": 523,
"sellerLocation": "Houston, TX",
"dateCreated": null,
"dateUpdated": null,
"dateExpires": null,
"detailUrl": "https://swappa.com/listing/view/LAJB10743",
"sourceUrl": "https://swappa.com/listings/apple-iphone-15?carrier=unlocked",
"scrapedAt": "2026-08-29T12:00:00.000Z",
"detailEnriched": false,
"warning": null
}

Actual listings and prices change continuously. The example illustrates the schema and is not a current offer.

Pricing

This Actor uses pay-per-event pricing. These are the current Apify Store event prices:

EventPrice (USD)When it is charged
apify-default-dataset-itemFREE: $0.02; BRONZE: $0.02; SILVER: $0.02; GOLD: $0.016; PLATINUM: $0.016; DIAMOND: $0.016Swappa listing — One unique, schema-valid public Swappa listing written to the default dataset.
apify-actor-start$0.005Actor Start — Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). — Charged once per run.

Apify platform usage for this Actor run is included alongside the event prices above; no separate per-run platform-usage fee is passed to users.

This covers Apify platform usage for this Actor run. Other Apify products or usage outside this Actor run may still follow your account plan.

Reliability and limits

Swappa can return a Cloudflare managed challenge to raw HTTP and direct traffic, so the Actor uses a real browser, coherent cookies and fingerprinting, bounded concurrency, session retirement, and an Apify US proxy group by default. It does not solve CAPTCHAs or defeat access controls. If all permitted sessions are challenged, the run returns zero fabricated records, writes a BLOCKED diagnostic to OUTPUT, and creates no result events.

Card-level mode is faster and usually needs one page per 50 listings. Detail enrichment adds one browser request per listing and can take materially longer. Results are deduplicated by Swappa listing code. A failed enrichment request preserves the already validated card record with a warning instead of discarding useful public data.

The Actor accepts only HTTPS Swappa product-listing and listing-detail paths. It rejects account, checkout, search, login, help, and unrelated URLs. A maximum of 500 results and 20 result pages keeps runs bounded.

Use the Actor only for lawful purposes and comply with Swappa's terms, robots policies, applicable privacy laws, and rate limits. Do not use the output for harassment, discrimination, spam, or attempts to identify private individuals. Seller display names and locations are public marketplace data; collect and retain only what your use case requires. Swappa is a trademark of its owner and is not affiliated with this Actor.

Support

When reporting a problem, include the run ID, a redacted input, whether detail enrichment was enabled, and the OUTPUT record. Never post proxy credentials, account cookies, or tokens.