Discover/2ememain API
live

2ememain API2ememain.be

Search and retrieve second-hand listings, seller profiles, and categories from 2ememain.be. 5 endpoints covering listings, seller data, and instrument categories.

Endpoint health
verified 7d ago
get_seller_listings
search_listings
get_categories
get_listing_detail
get_seller_profile
5/5 passing latest checkself-healing
Endpoints
5
Updated
21d ago

What is the 2ememain API?

The 2ememain.be API provides 5 endpoints to search, retrieve, and browse second-hand listings on Belgium's 2ememain.be marketplace. search_listings accepts keyword queries, location filters (postcode and distance in km), condition, and category parameters, returning paginated arrays of listings with pricing, seller info, and location. Complementary endpoints cover listing detail, seller profiles, seller-specific listings, and category IDs.

Try it
Max results per page
Search keyword
Pagination offset (number of items to skip)
Sort field
Category name (acoustic, electric, bass, amps, all_instruments) or numeric category ID. Use get_categories to retrieve available category IDs.
Distance in km from postcode (0 means no distance filter)
Belgian postal code for location-based search
Item condition filter
Maximum price in euros
Minimum price in euros
Sort order
api.parse.bot/scraper/38c7505b-327a-42b7-87b6-742ad0ed61ea/<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/38c7505b-327a-42b7-87b6-742ad0ed61ea/search_listings?limit=5&query=guitar&offset=0&sort_by=SORT_INDEX&category=acoustic&sort_order=DECREASING' \
  -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 2ememain-be-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.

"""Walkthrough: 2ememain.be SDK — search Belgian second-hand listings, drill into details and sellers."""
from parse_apis.twoememain_be_api import DeuxiemeMain, SortField, SortDirection, Condition, Category_, ResourceNotFound

client = DeuxiemeMain()

# Browse available categories
for cat in client.categories.list(limit=5):
    print(cat.name, cat.id)

# Search for electric guitars sorted by newest first
for listing in client.listings.search(query="guitar", sort_by=SortField.SORT_INDEX, sort_order=SortDirection.DECREASING, category=Category_.ELECTRIC, limit=3):
    print(listing.title, listing.price_info.price_cents, listing.location.city_name)

# Drill into a single listing's full detail
listing = client.listings.search(query="fender", condition=Condition.USED, limit=1).first()
if listing:
    detail = client.listings.get(item_id=listing.item_id)
    print(detail.title, detail.category_id, detail.seller_information.seller_name)

# Fetch a seller profile and browse their listings
if listing:
    seller = client.sellers.get(seller_id=str(listing.seller_information.seller_id))
    for review in seller.reviews:
        print(review.rating, review.number_of_reviews, review.review_system)
    for item in seller.listings(limit=3):
        print(item.title, item.price_info.price_type)

# Typed error handling
try:
    client.sellers.get(seller_id="0000000")
except ResourceNotFound as exc:
    print(f"Seller not found: {exc}")

print("exercised: categories.list / listings.search / listings.get / sellers.get / seller.listings")
All endpoints · 5 totalmissing one? ·

Search for listings on 2ememain.be with keywords, categories, and filters. Returns paginated results. Pagination advances via offset (items, not pages). Each listing carries seller info, price, location, and category. The category tree is rooted at instruments (728); sub-categories narrow the search.

Input
ParamTypeDescription
limitintegerMax results per page
querystringSearch keyword
offsetintegerPagination offset (number of items to skip)
sort_bystringSort field
categorystringCategory name (acoustic, electric, bass, amps, all_instruments) or numeric category ID. Use get_categories to retrieve available category IDs.
distanceintegerDistance in km from postcode (0 means no distance filter)
postcodestringBelgian postal code for location-based search
conditionstringItem condition filter
price_maxintegerMaximum price in euros
price_minintegerMinimum price in euros
sort_orderstringSort order
Response
{
  "type": "object",
  "fields": {
    "listings": "array of listing objects with itemId, title, description, priceInfo, location, sellerInformation, categoryId, attributes, pictures",
    "totalResultCount": "integer total number of matching listings"
  },
  "sample": {
    "data": {
      "listings": [
        {
          "title": "Fender, Marshall, Mesa, Blackstar, Line 6, Vox, Roland,...",
          "itemId": "m2409165912",
          "location": {
            "cityName": "Asse",
            "countryName": "Belgique",
            "countryAbbreviation": "BE"
          },
          "priceInfo": {
            "priceType": "SEE_DESCRIPTION",
            "priceCents": 0
          },
          "attributes": [
            {
              "key": "delivery",
              "value": "Enlèvement"
            }
          ],
          "categoryId": 745,
          "description": "Voici une sélection...",
          "sellerInformation": {
            "sellerId": 28710907,
            "sellerName": "Thoma Okaze Asse"
          }
        }
      ],
      "totalResultCount": 6214
    },
    "status": "success"
  }
}

About the 2ememain API

Searching and Filtering Listings

search_listings is the main entry point. Pass a query string alongside optional filters: category (either a named alias like acoustic or a numeric category ID), condition, postcode, and distance in kilometers. Results paginate via offset (item count, not page number) and return a totalResultCount integer alongside an array of listing objects. Each listing carries itemId, title, description, priceInfo (with priceCents and priceType), location (city and country), sellerInformation (seller ID and name), categoryId, attributes, and pictures.

Listing Detail and Seller Data

get_listing_detail accepts an item_id from search results and returns enriched listing data including a product object with schema.org Product structured data when available. get_seller_profile takes a numeric seller_id (from sellerInformation.sellerId) and returns verification flags (smbVerified, bankAccount, phoneNumber), accepted paymentMethod, and a reviews array with numberOfReviews, rating, and reviewSystem. get_seller_listings returns all active listings for a given seller, paginated by offset, with the same listing shape as search results.

Category Navigation

get_categories returns a fixed mapping of category aliases to numeric IDs: all_instruments (728), electric (745), acoustic (746), bass (747), and amps (748). These IDs can be passed directly to the category parameter in search_listings. The current category tree is rooted at instruments; browsing other top-level marketplace categories is not covered by this API.

Reliability & maintenanceVerified

The 2ememain API is a managed, monitored endpoint for 2ememain.be — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when 2ememain.be 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 2ememain.be 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
5/5 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
  • Aggregate second-hand guitar listings from 2ememain.be filtered by condition and postal region for a price-comparison tool.
  • Monitor a specific seller's active inventory using get_seller_listings with periodic offset-paginated polling.
  • Enrich a listing with schema.org Product structured data via get_listing_detail for structured product feeds.
  • Verify seller trustworthiness before a transaction by checking smbVerified, bankAccount, and review scores from get_seller_profile.
  • Build a location-aware classifieds search using postcode and distance parameters to surface nearby listings.
  • Map category IDs to human-readable names using get_categories before constructing filtered search queries.
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 2ememain.be have an official developer API?+
2ememain.be does not publish a public developer API or documented REST interface for third-party use.
What does `get_seller_profile` return beyond basic identity?+
get_seller_profile returns boolean flags for bankAccount (linked), phoneNumber (available), and smbVerified (small/medium business verification), plus a paymentMethod object and a reviews array containing numberOfReviews, rating, and the reviewSystem used. It does not return the seller's email address or full contact details.
How does pagination work across endpoints?+
Both search_listings and get_seller_listings paginate by offset, which represents the number of items to skip — not a page number. To fetch the next page, increment offset by your limit value. The totalResultCount field tells you how many total results exist so you can determine when to stop.
Are categories beyond musical instruments available?+
Not currently. get_categories exposes five instrument-related categories (all instruments, electric guitars, acoustic guitars, bass guitars, and amplifiers). Listings in other 2ememain.be verticals such as electronics, furniture, or vehicles are not covered by dedicated category endpoints. You can fork this API on Parse and revise it to add category IDs for other verticals.
Can I retrieve sold or expired listings?+
The API returns active listings only. get_seller_listings shows a seller's currently active inventory, and search_listings reflects live marketplace results. Historical or closed listings are not exposed. You can fork this API on Parse and revise it to add an endpoint targeting archived listing data if that becomes accessible.
Page content last updated . Spec covers 5 endpoints from 2ememain.be.
Related APIs in MarketplaceSee all →
leboncoin.fr API
Search and retrieve detailed listings from Leboncoin across cars, real estate, jobs, and other categories with advanced filtering options. Access seller profiles, pricing analytics, and comprehensive listing details to find exactly what you're looking for on France's leading classifieds platform.
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.
mediamarkt.be API
Search and browse MediaMarkt Belgium's product catalog to find electronics with detailed specifications, pricing, and available variants across all categories. Get comprehensive product information including descriptions and technical details to compare items before purchase.
dba.dk API
Search and retrieve detailed listings from Denmark's largest marketplace DBA.dk, including product information, pricing, and seller details across general goods and car categories. Browse marketplace categories, find specific items, and access comprehensive data on both regular listings and automotive inventory.
alternate.be API
Search for products on Alternate Belgium and instantly access live prices, stock availability, technical specifications, customer reviews, and current deals across their entire catalog. Browse their complete category structure to find exactly what you need and compare products before making a purchase decision.
machineseeker.com API
Search and browse industrial machinery listings from Machineseeker, view detailed product information, find similar equipment, and filter results by specific criteria. Discover thousands of machines with comprehensive specifications and pricing to help you find the right equipment for your needs.
vinted.fr API
Search and browse secondhand product listings on Vinted.fr with flexible filtering by price, category, and condition to find the items you're looking for. Sort results by relevance, price, or newest listings and navigate through pages to discover available products on the marketplace.
emag.ro API
Access product data from eMAG.ro, Romania's largest online retailer. Search by keyword, browse categories, retrieve product details and reviews, and look up seller information.