Discover/Swappa API
live

Swappa APIswappa.com

Access Swappa listings, seller profiles, market prices, and product reviews via API. Search devices, filter by condition and carrier, and retrieve structured pricing data.

Endpoint health
verified 7d ago
get_seller_profile
get_product_listings
get_listing_detail
search_listings
get_market_prices_overview
6/6 passing latest checkself-healing
Endpoints
6
Updated
22d ago

What is the Swappa API?

The Swappa API provides access to 6 endpoints covering the full breadth of Swappa's used electronics marketplace, including active device listings, seller profiles, product reviews, and market pricing overviews. The search_listings endpoint lets you query by keyword and retrieve product slugs used across the rest of the API, while get_product_listings supports filtering by condition, carrier, storage, and color with pagination support.

Try it
Search keyword (e.g. 'iphone 15', 'samsung galaxy s25').
api.parse.bot/scraper/f9a224bf-b697-4565-85ca-5f0774766ba6/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/f9a224bf-b697-4565-85ca-5f0774766ba6/search_listings?query=iphone+15' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace swappa-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.swappa_api import Swappa, Product, ListingSummary, Listing, MarketSection, MarketProduct, Seller, Review

swappa = Swappa()

# Search for iPhone 15 products
products = swappa.products.search(query="iphone 15")
for product in products:
    print(product.name, product.price, product.slug)

# Get listings for a specific product using constructible navigation
iphone = swappa.product(slug="apple-iphone-15")
for listing in iphone.listings.list(carrier="unlocked"):
    print(listing.listing_id, listing.name, listing.price, listing.carrier)

    # Drill into full listing detail
    detail = listing.details()
    print(detail.title, detail.listing_id, detail.price)

# Get reviews for the product
for review in iphone.reviews.list(count=5):
    print(review.author, review.rating, review.date)

# Get market prices overview
for section in swappa.marketsections.list():
    print(section.title)
    for row in section.data:
        print(row.rank, row.product, row.listings_count, row.avg_price)

# Fetch a seller profile
seller = swappa.sellers.get(username="sellworld")
print(seller.name, seller.rating, seller.review_count, seller.location)
for item in seller.active_listings:
    print(item.listing_id, item.name, item.price)
All endpoints · 6 totalmissing one? ·

Search for product models on Swappa by keyword. Returns matching products with starting prices and slugs that identify the product for use with get_product_listings and get_product_reviews.

Input
ParamTypeDescription
queryrequiredstringSearch keyword (e.g. 'iphone 15', 'samsung galaxy s25').
Response
{
  "type": "object",
  "fields": {
    "query": "string, the search keyword used",
    "results": "array of product matches, each with name, url, price (starting price string), and slug"
  },
  "sample": {
    "data": {
      "query": "iphone 15",
      "results": [
        {
          "url": "https://swappa.com/listings/apple-iphone-15",
          "name": "Apple iPhone 15",
          "slug": "apple-iphone-15",
          "price": "$328+"
        }
      ]
    },
    "status": "success"
  }
}

About the Swappa API

Search and Browse Listings

Start with search_listings, which accepts a query string (e.g. 'iphone 15' or 'samsung galaxy s25') and returns an array of matching products, each with a name, url, starting price, and slug. That slug is the key input for get_product_listings, which retrieves active listings for a specific model. You can filter results by condition (mint, good, fair), carrier (unlocked, att, verizon, tmobile), storage (128gb, 256gb), and color, and paginate through results using the page parameter. Each listing in the response includes a listing_id, name, variant, price, carrier, and url.

Listing Detail and Product Reviews

get_listing_detail takes a listing_id from listing results and returns structured data for that individual listing. The top-level price field may be null; the canonical price is in json_ld.offers.price, which is part of a full Product schema object that also includes offers.currency, offers.condition, offers.seller, brand, aggregateRating, and description. The specs field returns key-value pairs of device specs, and description holds the seller's free-text notes. get_product_reviews accepts a product_slug and optional count and returns an array of review objects with author, text, rating (e.g. '5.0'), and date as an ISO date string.

Seller Profiles and Market Pricing

get_seller_profile retrieves a seller by username and returns their display name, transaction stats (sold, bought, active counts), badges (e.g. 'Trusted'), rating, location, member_since, review_count, and their active_listings array with title, price, condition, carrier, color, storage, and image per listing. get_market_prices_overview requires no inputs and returns ranked tables of best-selling and most-listed products across Swappa, each row containing product name, listing count, and average price — useful for tracking category-level price trends without querying individual listings.

Reliability & maintenanceVerified

The Swappa API is a managed, monitored endpoint for swappa.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when swappa.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official swappa.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
7d ago
Latest check
6/6 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track average resale prices for specific iPhone or Galaxy models using get_market_prices_overview ranked product tables.
  • Build a price-drop alert tool by polling get_product_listings with condition=mint and a target product_slug.
  • Aggregate seller reputation data from get_seller_profile including badge status, rating, and transaction history.
  • Enrich a used device comparison tool with structured specs and json_ld.offers.condition from get_listing_detail.
  • Filter carrier-specific inventory by passing carrier=unlocked or carrier=verizon to get_product_listings.
  • Pull product review sentiment from get_product_reviews to surface user satisfaction trends across device models.
  • Identify top-selling device categories by listing count using the market_prices sections from get_market_prices_overview.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Swappa have an official public developer API?+
Swappa does not publish a public developer API or documented endpoint for third-party access. This Parse API provides structured access to the same marketplace data.
Why might the top-level `price` field in `get_listing_detail` be null?+
The price field at the top level can be null depending on how the listing page is structured. The endpoint documentation recommends using json_ld.offers.price instead, which comes from the structured Product schema data and is consistently populated. The json_ld object also includes offers.currency and offers.condition for full context.
Can I look up completed or sold listings to analyze historical prices?+
Not currently. The API covers active listings via get_product_listings and market pricing averages via get_market_prices_overview, but does not include a dedicated endpoint for sold or completed transactions. You can fork it on Parse and revise to add the missing endpoint.
Is there a way to filter `search_listings` results by device category (phones, tablets, laptops)?+
The search_listings endpoint accepts only a free-text query string and returns matching products with slugs and starting prices. Category-level filtering is not currently a parameter. You can fork it on Parse and revise to add category filtering as an input.
What does `get_market_prices_overview` actually return, and how is it structured?+
It returns a market_prices array of section objects. Each section has a title (e.g. 'Best Selling') and a data array where each row includes rank number, product name, listing count, and average price. No inputs are required. This is a snapshot of Swappa's top products, not a filtered query.
Page content last updated . Spec covers 6 endpoints from swappa.com.
Related APIs in MarketplaceSee all →
backmarket.com API
Search and browse refurbished electronics across Back Market's catalog, compare pricing by condition, and read seller and product reviews to find the best deals. Filter by product categories and access detailed information about listings to make informed purchasing decisions.
shpock.com API
Search and browse products listed on Shpock.com, view detailed listing information and seller profiles, and explore all available marketplace categories. Find what you're looking for by searching inventory, checking seller histories, and discovering related items from individual merchants.
backmarket.fr API
Search for refurbished products on Back Market and retrieve detailed information including product specifications, available variants, pricing, and customer reviews all in one place. Get comprehensive product data to compare options and make informed purchasing decisions on certified refurbished electronics and devices.
smartprix.com API
Search and compare smartphones, tablets, and laptops across Indian retailers with detailed specifications, price history, and real-time deal information. Get the latest tech news and track product prices over time to find the best buying opportunities.
reebelo.com API
Search Reebelo's refurbished products, browse categories and brands, check real-time pricing and condition-based costs, read customer reviews, and discover current deals all in one place. Get detailed product information including SKU prices and collections to compare and find the best secondhand electronics and accessories.
gazelle.com API
Search for used phones and tablets, browse best sellers, view detailed product listings, and retrieve trade-in price estimates on Gazelle. Look up buyback options by brand, category, and device series to compare payout values for used electronics.
depop.com API
Browse and discover products on Depop by searching inventory, viewing detailed product information, seller profiles, and reviews, while exploring trending items and the complete category structure. Filter listings by various criteria, access seller information including their likes and past sales, and find similar products to items you're interested in.
quikr.com API
Search for used products across Quikr by keyword and category with location filtering, then retrieve detailed listing information including prices, descriptions, and seller details. Access product categories and search suggestions to discover exactly what you're looking for in your area.