LurkAPI eBay API

eBay search results and listing details: prices, bids, condition, sellers, shipping and item specifics.

Operations 2

GET /v1/ebay/item eBay listing details #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/lurkapi:lurkapi-ebay-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

lurkapi-ebay-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Lurkapi eBay API
  version: 1.0.0
  description: 'Operations tagged eBay across 2 of this provider''s published API definitions: lurkapi-openapi-api.json, lurkapi-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.lurkapi.com
security:
- apiKey: []
tags:
- name: eBay
  description: 'eBay search results and listing details: prices, bids, condition, sellers, shipping and item specifics.'
paths:
  /v1/ebay/search:
    get:
      operationId: ebay_search
      tags:
      - eBay
      summary: Search eBay listings
      description: 'Active eBay listings for a keyword, with price, bids, condition, shipping, seller and how many sold, filtered and sorted like ebay.com.


        Use it for price research and sourcing: what''s listed, at what price, in what condition, and which listings sell. Filters work like eBay''s own: `condition`, `buying_format`, `min_price` and `max_price`, `free_shipping` and `category_id`.


        The price filters use the item price, without shipping. `category_id` is the number in an eBay category URL, or the `category_id` from listing details (ebay_item).


        Results match what ebay.com shows. Sponsored listings eBay places among the results are included; carousels and ads between them aren''t. `sold` is how many units a listing has sold. It isn''t a list of sold items, which eBay shows only to signed-in accounts.


        **Pagination.** 60 listings per page. Pass `next_page` as `page` for more. It''s null on the last page.


        Cost: 2 credits.'
      externalDocs:
        url: https://lurkapi.com/docs/ebay/search
      x-credits: 2
      parameters:
      - name: query
        in: query
        required: true
        description: Keywords, as typed into eBay's search box, e.g. `iphone 15 pro`.
        schema:
          type: string
          minLength: 1
          maxLength: 300
          description: Keywords, as typed into eBay's search box, e.g. `iphone 15 pro`.
        example: nintendo switch oled
      - name: condition
        in: query
        required: false
        description: '`new`, `open_box`, `refurbished` (any refurbished grade), `used`, `for_parts`, or `any` (default).'
        schema:
          description: '`new`, `open_box`, `refurbished` (any refurbished grade), `used`, `for_parts`, or `any` (default).'
          default: any
          type: string
          enum:
          - any
          - new
          - open_box
          - refurbished
          - used
          - for_parts
      - name: buying_format
        in: query
        required: false
        description: '`buy_it_now`, `auction`, `best_offer` (accepts offers), or `any` (default).'
        schema:
          description: '`buy_it_now`, `auction`, `best_offer` (accepts offers), or `any` (default).'
          default: any
          type: string
          enum:
          - any
          - buy_it_now
          - auction
          - best_offer
      - name: sort
        in: query
        required: false
        description: '`best_match` (eBay''s default), `ending_soonest`, `newly_listed`, `price_low` or `price_high` (price plus shipping).'
        schema:
          description: '`best_match` (eBay''s default), `ending_soonest`, `newly_listed`, `price_low` or `price_high` (price plus shipping).'
          default: best_match
          type: string
          enum:
          - best_match
          - ending_soonest
          - newly_listed
          - price_low
          - price_high
      - name: min_price
        in: query
        required: false
        description: Lowest item price in US dollars, e.g. `100`.
        schema:
          description: Lowest item price in US dollars, e.g. `100`.
          type: number
          minimum: 0
          maximum: 10000000
      - name: max_price
        in: query
        required: false
        description: Highest item price in US dollars, e.g. `500`.
        schema:
          description: Highest item price in US dollars, e.g. `500`.
          type: number
          minimum: 0
          maximum: 10000000
      - name: free_shipping
        in: query
        required: false
        description: '`true` keeps listings with free shipping only.'
        schema:
          description: '`true` keeps listings with free shipping only.'
          default: 'false'
          type: string
          enum:
          - 'true'
          - 'false'
      - name: category_id
        in: query
        required: false
        description: An eBay category number, e.g. `9355` (Cell Phones & Smartphones).
        schema:
          description: An eBay category number, e.g. `9355` (Cell Phones & Smartphones).
          type: string
          pattern: ^\d{1,10}$
      - name: page
        in: query
        required: false
        description: Page of results, 1–100; 60 listings each. Use `next_page` from the previous answer.
        schema:
          description: Page of results, 1–100; 60 listings each. Use `next_page` from the previous answer.
          default: 1
          type: integer
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: Active eBay listings for a keyword, with price, bids, condition, shipping, seller and how many sold, filtered and sorted like ebay.com.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: true
                    description: 'Always true here; errors have `success: false`.'
                  credits_remaining:
                    type: number
                    description: 'Your balance after this call. On anonymous playground calls: free tries left today.'
                  credits_charged:
                    type: number
                    description: 'Credits this call cost; 0 on free endpoints. On anonymous playground calls: tries used (1).'
                  total_results:
                    description: Matching listings as eBay counts them, from "40,000+ results" (a rounded lower bound for big searches).
                    type:
                    - number
                    - 'null'
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Item id, e.g. `285090601008`. Pass it to eBay listing details (ebay_item) for specifics, seller and shipping.
                        url:
                          type: string
                          description: The listing on ebay.com.
                        title:
                          type: string
                          description: Listing title.
                        subtitle:
                          description: 'The lines under the title other than the condition: the seller''s subtitle and key specifics, joined with ` · `.'
                          type:
                          - string
                          - 'null'
                        condition:
                          description: Condition as the card shows it, e.g. "Brand New", "Pre-Owned", "Good - Refurbished".
                          type:
                          - string
                          - 'null'
                        image:
                          description: Thumbnail URL (i.ebayimg.com).
                          type:
                          - string
                          - 'null'
                        price:
                          description: Price (the low end of a range, for listings with variations), in US dollars; null when the card doesn't show it.
                          type:
                          - number
                          - 'null'
                        price_max:
                          description: The high end of a price range; null for a single price, in US dollars; null when the card doesn't show it.
                          type:
                          - number
                          - 'null'
                        price_text:
                          description: The price as shown, e.g. "$189.99" or "$20.00 to $35.00".
                          type:
                          - string
                          - 'null'
                        original_price:
                          description: The struck-through earlier price on discounted listings, in US dollars; null when the card doesn't show it.
                          type:
                          - number
                          - 'null'
                        format:
                          type: string
                          enum:
                          - auction
                          - fixed_price
                          description: '`auction` when the card shows bids, else `fixed_price`.'
                        bids:
                          description: Bids so far, on auctions; null otherwise.
                          type:
                          - number
                          - 'null'
                        time_left:
                          description: Time left on auctions as shown, e.g. "6d 23h" or "46m"; null otherwise.
                          type:
                          - string
                          - 'null'
                        best_offer:
                          type: boolean
                          description: The seller accepts offers.
                        shipping_cost:
                          description: 'Shipping to the US: 0 when free, in US dollars; null when the card doesn''t show it.'
                          type:
                          - number
                          - 'null'
                        shipping_text:
                          description: Shipping as shown, e.g. "Free delivery in 2-4 days" or "+$8.99 delivery".
                          type:
                          - string
                          - 'null'
                        location:
                          description: Where the item ships from, e.g. "United States" or "China".
                          type:
                          - string
                          - 'null'
                        free_returns:
                          type: boolean
                          description: The card says free returns.
                        sold:
                          description: How many the listing has sold, from "1,234 sold" (a lower bound for "99+ sold"); null when not shown.
                          type:
                          - number
                          - 'null'
                        watchers:
                          description: Watchers, from "16+ watchers" (a lower bound); null when not shown.
                          type:
                          - number
                          - 'null'
                        seller:
                          anyOf:
                          - type: object
                            properties:
                              username:
                                type: string
                                description: The seller's eBay username.
                              feedback_percent:
                                description: Positive feedback, percent, e.g. 99.8; null for a seller without ratings.
                                type:
                                - number
                                - 'null'
                              feedback_count:
                                description: Feedback score as the card shows it; eBay rounds large ones (42K → 42000).
                                type:
                                - number
                                - 'null'
                            required:
                            - username
                            - feedback_percent
                            - feedback_count
                            additionalProperties: false
                          - type: 'null'
                          description: The seller, when the card shows one (eBay leaves it off some layouts).
                        badges:
                          type: array
                          items:
                            type: string
                          description: Other labels on the card, e.g. "New Listing", "Last one", "eBay Refurbished", "Authenticity Guarantee", coupons.
                      required:
                      - id
                      - url
                      - title
                      - subtitle
                      - condition
                      - image
                      - price
                      - price_max
                      - price_text
                      - original_price
                      - format
                      - bids
                      - time_left
                      - best_offer
                      - shipping_cost
                      - shipping_text
                      - location
                      - free_returns
                      - sold
                      - watchers
                      - seller
                      - badges
                      additionalProperties: false
                    description: One page of listings, in `sort` order.
                  page:
                    type: number
                    description: This page's number.
                  next_page:
                    description: Pass as `page` for the next 60 listings; null on the last page.
                    type:
                    - number
                    - 'null'
                required:
                - success
                - credits_remaining
                - credits_charged
                - total_results
                - items
                - page
                - next_page
                additionalProperties: false
        default:
          description: Error. Not charged, except the endpoint's own 4xx answers such as not_found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    servers:
    - url: https://api.lurkapi.com
  /v1/ebay/item:
    get:
      operationId: ebay_item
      tags:
      - eBay
      summary: eBay listing details
      description: 'One eBay listing by item id or URL: price, condition, quantity sold and available, seller and feedback, shipping, returns, photos and item specifics.


        Use it to track one listing''s price and sales, or to enrich a search result. Pass the item id or any eBay listing URL (`/itm/…`, from any eBay site).


        For listings with variations (sizes, colors, storage), price and quantity are the default variation''s, as on ebay.com. Ended listings still work. They come with `ended: true`, the last price and the notice eBay shows, e.g. "Bidding ended on Mon, Oct 19 at 4:02 PM."


        Returns 404 `not_found` when eBay has no such listing, and 403 `not_public` for adult listings, which eBay shows only to signed-in accounts.


        Cost: 2 credits.'
      externalDocs:
        url: https://lurkapi.com/docs/ebay/item
      x-credits: 2
      parameters:
      - name: id
        in: query
        required: false
        description: Item id, e.g. `285090601008`. Required unless you pass `url`.
        schema:
          description: Item id, e.g. `285090601008`. Required unless you pass `url`.
          type: string
        example: '285090601008'
      - name: url
        in: query
        required: false
        description: A listing URL, e.g. `https://www.ebay.com/itm/285090601008`.
        schema:
          description: A listing URL, e.g. `https://www.ebay.com/itm/285090601008`.
          type: string
      responses:
        '200':
          description: 'One eBay listing by item id or URL: price, condition, quantity sold and available, seller and feedback, shipping, returns, photos and item specifics.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: true
                    description: 'Always true here; errors have `success: false`.'
                  credits_remaining:
                    type: number
                    description: 'Your balance after this call. On anonymous playground calls: free tries left today.'
                  credits_charged:
                    type: number
                    description: 'Credits this call cost; 0 on free endpoints. On anonymous playground calls: tries used (1).'
                  id:
                    type: string
                    description: Item id.
                  url:
                    type: string
                    description: The listing on ebay.com.
                  title:
                    type: string
                    description: Listing title.
                  price:
                    description: Current price (the current bid on auctions), in `currency`.
                    type:
                    - number
                    - 'null'
                  currency:
                    description: The price's currency, e.g. USD; the seller's own currency on some international listings.
                    type:
                    - string
                    - 'null'
                  price_text:
                    description: The price as ebay.com shows it, e.g. "US $189.99".
                    type:
                    - string
                    - 'null'
                  original_price:
                    description: The struck-through list price on discounted listings, in `currency`; null otherwise.
                    type:
                    - number
                    - 'null'
                  format:
                    type: string
                    enum:
                    - auction
                    - fixed_price
                    description: '`auction` when the listing takes bids, else `fixed_price`.'
                  bids:
                    description: Bids so far, on auctions; null otherwise.
                    type:
                    - number
                    - 'null'
                  ends_at:
                    description: When an auction ends, ISO 8601; null for fixed-price listings.
                    type:
                    - string
                    - 'null'
                  best_offer:
                    type: boolean
                    description: The seller accepts offers.
                  condition:
                    description: Condition, e.g. "New", "Used", "Pre-owned - Good".
                    type:
                    - string
                    - 'null'
                  seller_notes:
                    description: The seller's note on the condition; null without one.
                    type:
                    - string
                    - 'null'
                  available:
                    description: 'Quantity available: "3 available" → 3, "Last one" → 1, "More than 10 available" → 10 (a lower bound); null when not shown.'
                    type:
                    - number
                    - 'null'
                  sold:
                    description: How many this listing has sold, from "10 sold"; null when not shown.
                    type:
                    - number
                    - 'null'
                  ended:
                    type: boolean
                    description: The listing has ended (sold, ended by the seller, or out of time).
                  status:
                    description: The notice eBay shows on ended listings, e.g. "Bidding ended on Mon, Oct 19 at 4:02 PM."; null on live ones.
                    type:
                    - string
                    - 'null'
                  has_variations:
                    type: boolean
                    description: The listing has variations (sizes, colors…); price and quantity are the default one's.
                  seller:
                    type: object
                    properties:
                      username:
                        description: eBay username. Search by seller on eBay with it.
                        type:
                        - string
                        - 'null'
                      name:
                        description: 'The name the listing shows: the store name for eBay Stores, else the username.'
                        type:
                        - string
                        - 'null'
                      url:
                        description: The seller's store or items page.
                        type:
                        - string
                        - 'null'
                      feedback_percent:
                        description: Positive feedback, percent, e.g. 99.8.
                        type:
                        - number
                        - 'null'
                      feedback_count:
                        description: Feedback score, e.g. 42027.
                        type:
                        - number
                        - 'null'
                    required:
                    - username
                    - name
                    - url
                    - feedback_percent
                    - feedback_count
                    additionalProperties: false
                    description: Who sells it.
                  shipping_cost:
                    description: Shipping to the US in `currency`, 0 when free; null when eBay doesn't say (e.g. local pickup only).
                    type:
                    - number
                    - 'null'
                  shipping_text:
                    description: Shipping as shown, e.g. "Free USPS Ground Advantage®."
                    type:
                    - string
                    - 'null'
                  location:
                    description: Where the item is, e.g. "Virginia Beach, Virginia, United States".
                    type:
                    - string
                    - 'null'
                  returns:
                    description: Return policy as shown, e.g. "30 days returns. Seller pays for return shipping."
                    type:
                    - string
                    - 'null'
                  images:
                    type: array
                    items:
                      type: string
                    description: Every listing photo, full size (up to 1600 px), in the seller's order.
                  item_specifics:
                    type: object
                    propertyNames:
                      type: string
                    additionalProperties:
                      type: string
                    description: 'Item specifics as the seller filled them in, e.g. {"Brand": "Apple", "Model": "iPhone 12 mini"}. Condition is in `condition`.'
                  category:
                    type: array
                    items:
                      type: string
                    description: Category path, broadest first, e.g. ["Electronics", "Cell Phones & Accessories", "Cell Phones & Smartphones"]; empty if eBay doesn't show it.
                  category_id:
                    description: The listing's category number; pass it as `category_id` to search eBay listings for similar ones.
                    type:
                    - string
                    - 'null'
                  listed_at:
                    description: When the listing started, ISO 8601.
                    type:
                    - string
                    - 'null'
                  description_url:
                    description: The seller's description as its own HTML page (eBay loads it in a frame).
                    type:
                    - string
                    - 'null'
                required:
                - success
                - credits_remaining
                - credits_charged
                - id
                - url
                - title
                - price
                - currency
                - price_text
                - original_price
                - format
                - bids
                - ends_at
                - best_offer
                - condition
                - seller_notes
                - available
                - sold
                - ended
                - status
                - has_variations
                - seller
                - shipping_cost
                - shipping_text
                - location
                - returns
                - images
                - item_specifics
                - category
                - category_id
                - listed_at
                - description_url
                additionalProperties: false
        '403':
          description: 'not_public: The platform shows this account or post only to people who are logged in. Try a public one. Charged, since the platform was checked.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: 'not_found: What you asked for (a post, an ad, a subreddit) doesn''t exist, or there''s no endpoint at that path. Charged if the platform was checked.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: Error. Not charged, except the endpoint's own 4xx answers such as not_found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    servers:
    - url: https://api.lurkapi.com
components:
  schemas:
    Error:
      type: object
      properties:
        success:
          type: boolean
          const: false
        error:
          type: string
          description: What went wrong, in plain words.
        code:
          type: string
          enum:
          - invalid_params
          - missing_api_key
          - invalid_api_key
          - invalid_token
          - insufficient_credits
          - over_max_credits
          - account_suspended
          - not_public
          - not_found
          - transcript_unavailable
          - method_not_allowed
          - rate_limited
          - signup_required
          - upstream_error
          - upstream_busy
          - upstream_timeout
          - internal_error
          description: Stable machine-readable code.
        docs:
          type: string
          description: Page that explains how to fix it.
        issues:
          description: One entry per invalid parameter (invalid_params only).
          type: array
          items:
            type: object
            properties:
              path:
                type: string
              message:
                type: string
            required:
            - path
            - message
            additionalProperties: false
      required:
      - success
      - error
      - code
      - docs
      additionalProperties: false
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
x-refined-from:
- lurkapi-openapi-api.json
- lurkapi-openapi.json