Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the AbeBooks API page →
E-commerce & Marketplaces

AbeBooks API & Scraper

AbeBooks has no single stock list: one ISBN resolves to a ladder of competing offers, each one a different bookshop's physical copy with its own price, shipping cost, grade and hand-typed condition note.

6 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

`search` covers the whole marketplace by keyword, title, author, publisher or ISBN, with the dealers' own filters: signed, first edition, dust jacket, seller country or region, condition band, binding, language, product type (books, maps, manuscripts, art prints, photographs, periodicals, comics, sheet music), price range, publication-year range, minimum seller rating, free shipping, print-on-demand excluded and listed within the last N days. `detail` takes one ISBN and returns every seller offering it, with price and shipping kept apart, the landed total computed, a price summary and the bibliographic record the sellers agree on. `listing` returns one copy in full with every photograph the bookseller took, its size and weight, the synopsis and the shop's founding date and payment methods. `seller` returns a bookshop's profile and a page of its live inventory, `isbn` prices up to six ISBNs in one call, and `filters` lists the exact token every filter accepts. Shipping is quoted for the destination you pass in `ship_to`, and every row says which one it is.

Reference

What an AbeBooks field actually contains

Fields that read differently from how they look. Every row was measured against live AbeBooks responses on 2026-10-08.

FieldWhat it holds
price, shipping_price, total_priceThree separate fields: the book, the shipping to your `ship_to` destination, and the two added up. On one listing in one minute, with the book at USD 2.20 throughout, shipping was 4.69 to the United States, 40.00 to the United Kingdom, 35.00 to Turkey, 45.00 to Japan and 45.00 to Australia. sort=total_price_asc ranks by what you actually pay.
currencyOne of 12 currencies you choose. A seller's own list currency is not published, so every price is AbeBooks' conversion. JPY, MXN, TRY, ZAR, BRL and INR are answered by the source in US dollars with no warning, so they are rejected with the reason instead.
seller.rating_stars, seller.rating_percentTwo different scales. Search and detail publish stars out of five; listing publishes percent positive. One shop read 5 on search and 98 on its listing page. Only the one the surface publishes is returned, with rating_scale saying which, never merged.
book_ratingOn a listing page this is the WORK's reader rating (Dune: 4.29 over 1,704,954 ratings), not the seller's. It carries an `about` field saying so.
isbn13, isbn10, isbn_missingKept apart and check-digit verified. Present on 298 of 400 general rows and on 0 of 150 rows across three antiquarian searches: a book printed before about 1970 has no ISBN, and the row says isbn_missing: true.
binding, binding_classbinding is the seller's own word ('Hardback', 'Hardcover', 'hardcover' on one hardcover page); binding_class is the class the filter uses.
free_shippingZero shipping appeared on 79 of 400 rows and is real free shipping, published as 0.0 with free_shipping: true. A missing price is never published as 0: it is price: null with price_missing: true.
total_estimateThe source's own match count is an estimate that drifts within the minute (779,501 / 779,502 / 779,505 / 779,499 in four calls), so it is published with total_is_estimate.

Title, author, publisher and year are typed by each bookseller: one ISBN's 30 offers spelled the publisher 'Ace', 'Ace Books', 'Ace (edition )' and 'Penguin Publishing Group'. detail publishes the consensus and keeps every other spelling in *_variants.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/abebooks/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "dune frank herbert",
    "per_page": 20,
    "sort": "total_price_asc",
    "currency": "USD",
    "ship_to": "USA"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "abebooks",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 1394.1,
    "record_count": 20,
    "bytes": 671204,
    "cache_hit": false,
    "total_estimate": 7587,
    "total_is_estimate": true,
    "page": 1,
    "per_page": 20,
    "max_page": 90,
    "result_window": 1800,
    "currency": "USD",
    "ship_to": "USA",
    "prices_are_converted": true,
    "ship_to_country": "U.S.A.",
    "filters_applied": {
      "query": "dune frank herbert"
    },
    "rows_are": "one seller's copy each, not one product",
    "source_url": "https://www.abebooks.com/servlet/SearchResults?ds=20&rollup=off&dym=off&sortby=17&kn=dune+frank+herbert&sts=t",
    "warnings": [
      "the source reports about 7,587 matching listings but will only let 1800 of them be paged through; narrow with a filter to reach the rest. The total is its own estimate and drifts between calls (measured 779,501 / 779,502 / 779,505 / 779,499 on one query in four calls)."
    ],
    "upstream_requests": 1,
    "charged_credits": 3,
    "version": "1.0.0",
    "request_id": "c43114073ad44390",
    "queue_ms": 1.2,
    "fetched_at": "2026-10-14T18:57:17.402Z"
  },
  "data": {
    "offers": [
      {
        "listing_id": 32518771816,
        "seller_sku": "mon0000190710",
        "url": "https://www.abebooks.com/Dune-Herbert-Frank-Ace/32518771816/bd",
        "copies_available": 1,
        "title": "Dune",
        "author": "Herbert, Frank",
        "authors": [
          "Herbert, Frank"
        ],
        "illustrator": null,
        "publisher": "Ace",
        "publish_year": 2005,
        "edition": null,
        "binding": "paperback",
        "binding_class": "softcover",
        "language": "ENG",
        "language_name": "English",
        "isbn13": "9780441013593",
        "isbn10": "0441013597",
        "isbn_missing": false,
        "product_type": "book",
        "condition": "USED_GOOD",
        "condition_label": "Good",
        "condition_rank": 5,
        "seller_condition": "Good",
        "seller_note": "The cover shows normal wear. Fast shipping and order satisfaction guaranteed. A portion of your purchase benefits Non-Profit Organizations, First Aid and Fire Stations!",
        "jacket": null,
        "jacket_condition": null,
        "inscription": null,
        "price": 1.2,
        "price_missing": false,
        "shipping_price": 2.49,
        "free_shipping": false,
        "total_price": 3.69,
        "currency": "USD",
        "currency_symbol": "$",
        "ships_to": "USA",
        "ships_to_country": "U.S.A.",
        "shipping_options": [
          {
            "price": "[trimmed-depth]",
            "currency": "[trimmed-depth]",
            "min_delivery_days": "[trimmed-depth]",
            "max_delivery_days": "[trimmed-depth]"
          },
          {
            "price": "[trimmed-depth]",
            "currency": "[trimmed-depth]",
            "min_delivery_days": "[trimmed-depth]",
            "max_delivery_days": "[trimmed-depth]"
          }
        ],
        "is_first_edition": false,
        "is_signed": false,
        "is_inscribed": false,
        "has_dust_jacket": false,
        "is_rare": false,
        "is_print_on_demand": false,
        "has_seller_photos": false,
        "attribute_codes": [
          "BOOK",
          "BOOK_CONDITION_GOOD",
          "HAS_AWARD"
        ],
        "images": null,
        "image_is_sellers_own": null,
        "catalog_image": "https://pictures.abebooks.com/isbn/9780441013593-us._SL300_.jpg",
        "seller": {
          "id": 64705033,
          "name": "New Legacy Books",
          "city": "Annandale",
          "state": "NJ",
          "country": "USA",
          "country_name": "U.S.A.",
          "rating_stars": 5,
          "rating_scale": "stars out of 5, as the search surface publishes it",
          "storefront_url": "https://www.abebooks.com/New-Legacy-Books-Annandale-NJ-U.S.A/64705033/sf",
          "contact_url": "https://www.abebooks.com/servlet/AskBooksellerQuestion?refnum=32518771816&reftype=B",
          "associations": null,
          "catalogs": null
        },
        "series": {
          "id": "B0CLKVTH4B",
          "title": "Dune",
          "position": 1,
          "books_in_series": 6,
          "url": "https://www.abebooks.com/book-search/series/b0clkvth4b/dune/"
        },
        "listing_params": {
          "listing_id": 32518771816
        }
      },
      {
        "listing_id": 32517255618,
        "seller_sku": "00110619726",
        "url": "https://www.abebooks.com/Dune-House-Atreides-Vol-1-Brian/32517255618/bd",
        "copies_available": 1,
        "title": "Dune: House Atreides Vol. 1",
        "author": "Brian Herbert",
        "authors": [
          "Brian Herbert"
        ],
        "illustrator": "Pramanik, Dev",
        "publisher": "Boom! Studios",
        "publish_year": 2021,
        "edition": null,
        "binding": "Hardback",
        "binding_class": "hardcover",
        "language": "ENG",
        "language_name": "English",
        "isbn13": "9781684156894",
        "isbn10": "1684156890",
        "isbn_missing": false,
        "product_type": "book",
        "condition": "USED_GOOD",
        "condition_label": "Good",
        "condition_rank": 5,
        "seller_condition": "Good",
        "seller_note": "THE OFFICIAL PREQUEL TO THE GROUNDBREAKING DUNE. Welcome to the far future on the desert planet Arrakis where Pardot Kynes seeks its secrets. Meanwhile, a violent coup is planned by the son of Emperor Elrood; an eight-year-old slave Duncan Idaho seeks to escape his cruel masters; and a young man named Leto Atreides begins a fateful journey. These unlikely souls will come together as renegades and soon discover that fate has decreed they will change the very shape of history. The New York Times best-selling Dune: House Atreides comes to comics for the first time, adapted & scripted by Brian Her",
        "jacket": null,
        "jacket_condition": null,
        "inscription": null,
        "price": 4.18,
        "price_missing": false,
        "shipping_price": 0,
        "free_shipping": true,
        "total_price": 4.18,
        "currency": "USD",
        "currency_symbol": "$",
        "ships_to": "USA",
        "ships_to_country": "U.S.A.",
        "shipping_options": [
          {
            "price": "[trimmed-depth]",
            "currency": "[trimmed-depth]",
            "min_delivery_days": "[trimmed-depth]",
            "max_delivery_days": "[trimmed-depth]"
          },
          {
            "price": "[trimmed-depth]",
            "currency": "[trimmed-depth]",
            "min_delivery_days": "[trimmed-depth]",
            "max_delivery_days": "[trimmed-depth]"
          }
        ],
        "is_first_edition": false,
        "is_signed": false,
        "is_inscribed": false,
        "has_dust_jacket": false,
        "is_rare": false,
        "is_print_on_demand": false,
        "has_seller_photos": false,
        "attribute_codes": [
          "BOOK",
          "BOOK_CONDITION_GOOD",
          "HARDCOVER"
        ],
        "images": null,
        "image_is_sellers_own": null,
        "catalog_image": "https://pictures.abebooks.com/isbn/9781684156894-us._SL300_.jpg",
        "seller": {
          "id": 52274160,
          "name": "World of Books (was SecondSale)",
          "city": "Montgomery",
          "state": "IL",
          "country": "USA",
          "country_name": "U.S.A.",
          "rating_stars": 5,
          "rating_scale": "stars out of 5, as the search surface publishes it",
          "storefront_url": "https://www.abebooks.com/World-of-Books-was-SecondSale-Montgomery/52274160/sf",
          "contact_url": "https://www.abebooks.com/servlet/AskBooksellerQuestion?refnum=32517255618&reftype=B",
          "associations": null,
          "catalogs": null
        },
        "series": {
          "id": "B095WF6W4R",
          "title": "Dune: House Atreides",
          "position": 2,
          "books_in_series": 4,
          "url": "https://www.abebooks.com/book-search/series/b095wf6w4r/dune-house-atreides/"
        },
        "listing_params": {
          "listing_id": 32517255618
        }
      },
      {
        "listing_id": 32450287445,
        "seller_sku": "00098424244",
        "url": "https://www.abebooks.com/Wicked-Movie-TieIn-Life-Times-Witch/32450287445/bd",
        "copies_available": 18,
        "title": "Wicked Movie TieIn The Life and Times of the Wicked Witch of the West",
        "author": "Gregory Maguire",
        "authors": [
          "Gregory Maguire"
        ],
        "illustrator": null,
        "publisher": "HarperCollins Publishers Inc",
        "publish_year": 2025,
        "edition": null,
        "binding": "Paperback",
        "binding_class": "softcover",
        "language": "ENG",
        "language_name": "English",
        "isbn13": "9780063471740",
        "isbn10": "0063471744",
        "isbn_missing": false,
        "product_type": "book",
        "condition": "USED_GOOD",
        "condition_label": "Good",
        "condition_rank": 5,
        "seller_condition": "Good",
        "seller_note": "$60",
        "jacket": null,
        "jacket_condition": null,
        "inscription": null,
        "price": 4.2,
        "price_missing": false,
        "shipping_price": 0,
        "free_shipping": true,
        "total_price": 4.2,
        "currency": "USD",
        "currency_symbol": "$",
        "ships_to": "USA",
        "ships_to_country": "U.S.A.",
        "shipping_options": [
          {
            "price": "[trimmed-depth]",
            "currency": "[trimmed-depth]",
            "min_delivery_days": "[trimmed-depth]",
            "max_delivery_days": "[trimmed-depth]"
          },
          {
            "price": "[trimmed-depth]",
            "currency": "[trimmed-depth]",
            "min_delivery_days": "[trimmed-depth]",
            "max_delivery_days": "[trimmed-depth]"
          }
        ],
        "is_first_edition": false,
        "is_signed": false,
        "is_inscribed": false,
        "has_dust_jacket": false,
        "is_rare": false,
        "is_print_on_demand": false,
        "has_seller_photos": false,
        "attribute_codes": [
          "BOOK",
          "BOOK_CONDITION_GOOD",
          "HAS_CHARACTERS"
        ],
        "images": null,
        "image_is_sellers_own": null,
        "catalog_image": "https://pictures.abebooks.com/isbn/9780063471740-us._SL300_.jpg",
        "seller": {
          "id": 52274160,
          "name": "World of Books (was SecondSale)",
          "city": "Montgomery",
          "state": "IL",
          "country": "USA",
          "country_name": "U.S.A.",
          "rating_stars": 5,
          "rating_scale": "stars out of 5, as the search surface publishes it",
          "storefront_url": "https://www.abebooks.com/World-of-Books-was-SecondSale-Montgomery/52274160/sf",
          "contact_url": "https://www.abebooks.com/servlet/AskBooksellerQuestion?refnum=32450287445&reftype=B",
          "associations": null,
          "catalogs": null
        },
        "series": {
          "id": "B074CDX5VZ",
          "title": "The Wicked Years",
          "position": 1,
          "books_in_series": 4,
          "url": "https://www.abebooks.com/book-search/series/b074cdx5vz/the-wicked-years/"
        },
        "listing_params": {
          "listing_id": 32450287445
        }
      }
    ],
    "summary": {
      "scope": "the offers on this page only",
      "currency": "USD",
      "offers_on_page": 20,
      "offers_with_a_price": 20,
      "min_price": 1.2,
      "max_price": 4.99,
      "min_total_price": 3.69,
      "max_total_price": 4.99,
      "cheapest_listing_id": 32518771816,
      "cheapest_total_listing_id": 32518771816,
      "conditions": {
        "USED_VERYGOOD": 4,
        "USED_GOOD": 11,
        "USED_FAIR": 5
      },
      "seller_countries": {
        "USA": 20
      },
      "new_offers": 0,
      "signed_offers": 0,
      "first_edition_offers": 0,
      "free_shipping_offers": 19
    }
  }
}
Actions

What the AbeBooks API does

ActionDescriptionConcrete use caseKey params
searchSearch the marketplace. Every row is ONE SELLER'S COPY, not a product — the same edition appears once per bookseller offering it, which is the point of this source. Give at least one of `query`, `title`, `author`, `publisher` or `isbn`, then narrow with any of the dealers' own filters. Every filter here was measured against an unfiltered control and every one of them bites.Pricing teams call search to search the marketplace.query, title, author, publisher, isbn, ...
detailOne ISBN, every seller offering it. This is the flagship call: the complete competing-offer ladder for an edition, with the price and the shipping cost kept apart, the landed total computed, the bibliographic record the sellers agree on, every spelling they disagree about, and a price summary over the page. Measured on ISBN 9780441172719: 129 offers from sellers in 20 countries, book prices from USD 2.20, shipping from 0.00 to 5.50 within the U.S.A. and 31 to 75 to the United Kingdom.Marketplace operators call detail to get one ISBN, every seller offering it.isbn, condition, seller_country, seller_region, min_seller_rating, ...
listingOne seller's copy in full, by `listing_id`. Adds what the ladder does not carry: every photograph the bookseller took of THIS copy, the item's size and weight, the publisher's own synopsis of the work, the work's reader rating, and the shop's founding date and accepted payment methods. Note that the seller rating on this page is a PERCENTAGE while the search surface publishes STARS out of five (measured: vendor 61505917 reads 98 here and 5 there) — both are returned under their own name and the row says which scale it is.Catalog enrichment teams call listing to get one seller's copy in full, by `listing_id`.listing_id, currency, ship_to
sellerOne bookseller: the profile the marketplace states for the shop plus a page of its live inventory and the shelves it organises that inventory into. Use it to size a dealer, to watch a competitor's stock, or to pull a whole specialist catalogue. Measured: seller 61505917 ('Orion Tech', Kingwood TX, 5 stars) publishes 198,392 listings.Retail analysts call seller to get one bookseller.seller_id, query, condition, sort, page, ...
isbnUp to 6 ISBNs in one call, each answered with the market summary a pricing job needs: how many sellers have it, the cheapest book price, the cheapest LANDED price including shipping to your destination, the price range, the condition spread, how many copies are new, signed or first editions, and a link to the cheapest copy. Your order is kept and the ISBNs nobody is offering are named.Pricing teams call isbn to get up to 6 ISBNs in one call, each answered with the market summary a pricing job needs.isbns, currency, ship_to
filtersThe refinement vocabulary this marketplace actually has, with the exact tokens every filter accepts. Read this instead of guessing. It also states, in writing, the two things AbeBooks does NOT publish: there is no subject or category tree (its search returns no facets at all — `contextualFacets` was empty on every query measured, and `subject=` was tried and does not bite), and there are no facet counts, so no filter here can tell you how many listings it will match before you run it. Answered from measurement, with no upstream call, so it costs nothing and never fails.Marketplace operators call filters to get the refinement vocabulary this marketplace actually has, with the exact tokens every filter a….none
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/abebooks/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"dune frank herbert","per_page":20,"sort":"total_price_asc","currency":"USD","ship_to":"USA"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.abebooks.search with {"query":"dune frank herbert","per_page":20,"sort":"total_price_asc","currency":"USD","ship_to":"USA"}.
Use cases

Who uses this API and why

  • Reprice a used-book inventory against the cheapest landed price for each ISBN, to the destination you sell into.
  • Find signed, first-edition or dust-jacketed copies of an author's work from sellers in one country.
  • Watch a competing bookshop's stock and prices through its seller id.
  • Compare what the same edition costs delivered to the US, the UK and Australia.
  • Collect the condition notes and photographs booksellers publish for individual rare copies.
FAQ

Questions developers ask before integrating

Why does the shipping cost change between calls?

AbeBooks quotes shipping per destination and infers the destination from whoever is asking when nothing pins it. This API always pins it with ship_to (default USA) and stamps it on every row and in meta. On one listing the cheapest shipping to the United Kingdom was 31 against a USD 2.20 book.

Which currencies are supported?

Twelve, chosen with currency. Measured on one listing in one minute: USD 2.20, GBP 1.71, EUR 2.02, CAD 3.23, CZK 49.23. Codes the source silently answers in US dollars are rejected.

How many offers can one ISBN have?

Measured on 2026-10-08: ISBN 9780441172719 had 129 offers from sellers in 20 countries, book prices from USD 2.20, shipping from 0.00 to 5.50 within the United States and from 31 to 75 to the United Kingdom.

How deep can I page through a search?

1,800 listings per query. The 1,801st is an empty page at the source, so a page beyond the window is rejected up front with the real max_page. Narrow with a filter to reach deeper stock.

Do the filters really narrow the results?

Each one was measured against an unfiltered control of 779,501 listings: signed 16,568, first edition 37,871, dust jacket 11,485, seller country UK 84,386, language DEU 4,432, hardcover 144,727, maps 444, condition new 450,004, years 1965-1970 9,074, listed within 7 days 4,260.

Is there a category tree or facet counts?

No. AbeBooks publishes neither: its search returned no facets on any measured query and subject= does not narrow the results. filters returns the refinement vocabulary that does exist, and none was invented.

Can I price many ISBNs at once?

isbn takes up to six ISBNs in one call and returns, for each, the offer count, the cheapest book price, the cheapest landed price to your destination, the price range and the condition spread, keeping your order and naming the ISBNs nobody is offering.

How fresh is the data?

Every call reads AbeBooks live; nothing is cached. In the reliability run 84 of 84 calls succeeded with a median of 699 ms.

What is the AbeBooks API?

AbeBooks API is a ReefAPI endpoint group for the world's marketplace for used, rare and out-of-print books as json: every bookseller's copy of an isbn with its own price, its shipping cost to the destination you name, its grade and the seller's condition note, in 12 currencies. It returns live JSON through POST requests under /abebooks/v1.

Is the AbeBooks API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. AbeBooks calls use the same shared credit balance as every other ReefAPI engine.

Do I need an AbeBooks login or account?

No login to AbeBooks is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the AbeBooks data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the AbeBooks API use?

AbeBooks actions currently cost 1-4 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call AbeBooks from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call abebooks actions with the same key, credit pool and JSON envelope used by normal REST requests.

docs / abebooks

AbeBooks

The world's marketplace for used, rare and out-of-print books as JSON: every bookseller's copy of an ISBN with its own price, its shipping cost to the destination you name, its grade and the seller's condition note, in 12 currencies.

base /abebooks/v16 endpoints
post/abebooks/v1/detail3 credits

One ISBN, every seller offering it. This is the flagship call: the complete competing-offer ladder for an edition, with the price and the shipping cost kept apart, the landed total computed, the bibliographic record the sellers agree on, every spelling they disagree about, and a price summary over the page. Measured on ISBN 9780441172719: 129 offers from sellers in 20 countries, book prices from USD 2.20, shipping from 0.00 to 5.50 within the U.S.A. and 31 to 75 to the United Kingdom.

ParameterAllowed / rangeDescription
isbnrequired—An ISBN-13 or an ISBN-10, dashes and spaces optional. The ISBN-10 is converted arithmetically to the ISBN-13 the source is keyed on (verified live: 0441172717 and 9780441172719 return the same 129 offers). The check digit is verified before the call, so a typo is rejected rather than answered with an empty result. A 13-digit non-Bookland barcode is accepted too. Remember that a book printed before about 1970 HAS no ISBN — for those, search by `title` and `author`.
conditionoptionalnew · as_new_fine · very_good_good · fair_poor · unspecifiedKeep only copies in one of the source's own five condition BANDS. AbeBooks grades a copy on a nine-step ladder (New, As New, Fine, Near Fine, Very Good, Good, Fair, Poor, Unspecified) but it filters on bands, so these are the bands and the rows still carry the exact grade as `condition` plus the seller's own word for it as `seller_condition`. Note how large `unspecified` is (103,154 on one measured query): an antiquarian dealer often describes a copy in prose instead of picking a grade, and that prose is in `seller_note`.
seller_countryoptionaldz · ar · am · au · at · bb · be · br · bg · ca · cl · cn · cy · cz · dk · ee · fi · fr · ge · de · gr · gp · gu · hk · hu · in · ie · il · it · jp · kr · lv · lt · lu · mt · mx · nl · nz · no · pl · pt · ro · sg · si · za · es · se · ch · tw · th · tr · us · uk · uyKeep only sellers in this country — the lever that actually controls what you pay to ship, because a copy in your own country is cheap to post and a copy abroad is not. These are the source's own two-letter codes, kept verbatim including its `uk` for the United Kingdom (`gb` is accepted and mapped). Measured bite: 779,501 listings -> 84,386 for `uk` and 263,033 for `de`, and 20 of 20 returned rows had the matching seller country.
seller_regionoptionalww · na · sa · eu · er · oc · asSame idea, one level up: keep only sellers in a whole region. The source offers both a European Union set and a wider Europe set, and they are not the same thing. Measured bite for `er`: 779,501 -> 647,445.
min_seller_ratingoptional2–5Keep only sellers rated at least this many stars out of five. The source offers 2, 3, 4 and 5 — there is no 1, because that is everybody. Measured bite: 779,501 -> 658,104 at 5 stars and 777,672 at 2.
sort = relevanceoptionalrelevance · price_asc · price_desc · total_price_asc · newest · seller_rating_desc · title_asc · title_desc · year_asc · year_desc · author_asc · author_descRow order. All twelve of the source's own sorts are offered, and the one worth knowing about is `total_price_asc`: it sorts by price PLUS shipping to your destination, which on this marketplace routinely reorders the ladder completely.
page = 1optional1–1-based page. The source's result window is 1800 listings per query, so `page` x `per_page` must stay at or below that — at 50 per page the last readable page is 36. Past it the source answers HTTP 200 with an empty page that looks exactly like the end of the results (measured: a full page at offset 1,780, zero rows at 1,800, 2,000, 5,000, 10,000 and 20,000), which is why this is rejected here with the real maximum instead. Narrow with a filter to reach deeper.
per_page = 20optional1–100Listings per page, 1-100. The source renders its whole page per request, so a bigger page is cheaper per row but heavier per call: measured payloads are 430 KB at 10 rows, 742 KB at 30, 1.06 MB at 50 and 1.86 MB at 100.
currency = USDoptionalUSD · GBP · EUR · CAD · AUD · CHF · DKK · SEK · NOK · NZD · PLN · CZKWhich currency to quote every price and every shipping cost in. AbeBooks converts for you — a seller's own list currency is never published on this surface, so every number you get back is a conversion and every row says so. Only these twelve work: probing nineteen codes on 2026-10-08 found that JPY, MXN, TRY, ZAR, BRL and INR are answered in USD with HTTP 200 and no warning, so an unsupported code is rejected here instead of being silently re-priced. Measured on one listing in one minute: USD 2.20 / GBP 1.71 / EUR 2.02 / CAD 3.23 / CZK 49.23.
ship_to = USAoptionalUSA · GBR · CAN · AUS · NZL · IRL · DEU · FRA · ITA · ESP · PRT · NLD · BEL · LUX · CHE · AUT · DNK · SWE · NOR · FIN · ISL · POL · CZE · SVK · HUN · ROU · BGR · GRC · HRV · SVN · EST · LVA · LTU · MLT · CYP · TUR · RUS · UKR · ISR · ARE · SAU · QAT · KWT · ZAF · EGY · MAR · NGA · KEN · IND · PAK · BGD · LKA · CHN · HKG · TWN · JPN · KOR · SGP · MYS · THA · VNM · IDN · PHL · MEX · BRA · ARG · CHL · COL · PER · URY · CRI · PAN · JAM · BRB · TTO · VEN · ECU · BOL · PRY · GTM · SRB · BIH · MKD · ALB · MDA · GEO · ARM · AZE · KAZ · MNG · NPL · KHM · LAO · MMR · BHR · OMN · JOR · LBN · TUN · DZA · GHA · TZA · UGA · ZWE · MUS · FJI · PNG🔴 THE MOST IMPORTANT PARAMETER ON THIS API. Shipping is quoted per destination, and AbeBooks guesses the destination from the caller's own network when nothing pins it — so this engine always pins it and always tells you which one it used. Measured on ONE listing in ONE minute, book price USD 2.20 throughout: shipping was USD 4.69 to the U.S.A., 40.00 to the United Kingdom, 35.00 to Turkey, 45.00 to Japan and 45.00 to Australia. On that listing the cheapest shipping is DOUBLE the price of the book, which is why `price` and `shipping_price` are separate fields and `total_price` is the one to sort on. ISO-3166 alpha-3; 107 codes were confirmed accepted by the source's own echo, and an unknown code is rejected here because the source answers it with the U.S.A. rate card and no warning.
include_pii = falseoptional—Accepted for gateway compatibility. The seller block is a business identity — shop name, city, country, rating and storefront link — and carries no address, phone number or e-mail, so nothing is withheld either way. Some AbeBooks sellers are one-person shops trading under a personal name; that name is the trading name the marketplace itself publishes.
Try in playground →
post/abebooks/v1/listing2 credits

One seller's copy in full, by `listing_id`. Adds what the ladder does not carry: every photograph the bookseller took of THIS copy, the item's size and weight, the publisher's own synopsis of the work, the work's reader rating, and the shop's founding date and accepted payment methods. Note that the seller rating on this page is a PERCENTAGE while the search surface publishes STARS out of five (measured: vendor 61505917 reads 98 here and 5 there) — both are returned under their own name and the row says which scale it is.

ParameterAllowed / rangeDescription
listing_idrequired1–One seller's copy, by the id every `search` / `detail` row returns as `listing_id`. This is the only call that adds the things the ladder does not carry: every photograph the seller uploaded, the item's size and weight, the publisher's own synopsis of the work, the shop's founding date and the payment methods it accepts.
currency = USDoptionalUSD · GBP · EUR · CAD · AUD · CHF · DKK · SEK · NOK · NZD · PLN · CZKWhich currency to quote every price and every shipping cost in. AbeBooks converts for you — a seller's own list currency is never published on this surface, so every number you get back is a conversion and every row says so. Only these twelve work: probing nineteen codes on 2026-10-08 found that JPY, MXN, TRY, ZAR, BRL and INR are answered in USD with HTTP 200 and no warning, so an unsupported code is rejected here instead of being silently re-priced. Measured on one listing in one minute: USD 2.20 / GBP 1.71 / EUR 2.02 / CAD 3.23 / CZK 49.23.
ship_to = USAoptionalUSA · GBR · CAN · AUS · NZL · IRL · DEU · FRA · ITA · ESP · PRT · NLD · BEL · LUX · CHE · AUT · DNK · SWE · NOR · FIN · ISL · POL · CZE · SVK · HUN · ROU · BGR · GRC · HRV · SVN · EST · LVA · LTU · MLT · CYP · TUR · RUS · UKR · ISR · ARE · SAU · QAT · KWT · ZAF · EGY · MAR · NGA · KEN · IND · PAK · BGD · LKA · CHN · HKG · TWN · JPN · KOR · SGP · MYS · THA · VNM · IDN · PHL · MEX · BRA · ARG · CHL · COL · PER · URY · CRI · PAN · JAM · BRB · TTO · VEN · ECU · BOL · PRY · GTM · SRB · BIH · MKD · ALB · MDA · GEO · ARM · AZE · KAZ · MNG · NPL · KHM · LAO · MMR · BHR · OMN · JOR · LBN · TUN · DZA · GHA · TZA · UGA · ZWE · MUS · FJI · PNG🔴 THE MOST IMPORTANT PARAMETER ON THIS API. Shipping is quoted per destination, and AbeBooks guesses the destination from the caller's own network when nothing pins it — so this engine always pins it and always tells you which one it used. Measured on ONE listing in ONE minute, book price USD 2.20 throughout: shipping was USD 4.69 to the U.S.A., 40.00 to the United Kingdom, 35.00 to Turkey, 45.00 to Japan and 45.00 to Australia. On that listing the cheapest shipping is DOUBLE the price of the book, which is why `price` and `shipping_price` are separate fields and `total_price` is the one to sort on. ISO-3166 alpha-3; 107 codes were confirmed accepted by the source's own echo, and an unknown code is rejected here because the source answers it with the U.S.A. rate card and no warning.
include_pii = falseoptional—Accepted for gateway compatibility. The seller block is a business identity — shop name, city, country, rating and storefront link — and carries no address, phone number or e-mail, so nothing is withheld either way. Some AbeBooks sellers are one-person shops trading under a personal name; that name is the trading name the marketplace itself publishes.
Try in playground →
post/abebooks/v1/seller3 credits

One bookseller: the profile the marketplace states for the shop plus a page of its live inventory and the shelves it organises that inventory into. Use it to size a dealer, to watch a competitor's stock, or to pull a whole specialist catalogue. Measured: seller 61505917 ('Orion Tech', Kingwood TX, 5 stars) publishes 198,392 listings.

ParameterAllowed / rangeDescription
seller_idrequired1–A bookseller, by the id every row returns as `seller.id`. Returns the shop's profile as the marketplace states it plus a page of its inventory and its own shelves. Measured: seller 61505917 publishes 198,392 listings.
queryoptional—Free text over the whole listing — title, author, publisher and the seller's own description. At least one of `query`, `title`, `author`, `publisher` or `isbn` is required, exactly as the source's own advanced search demands. Because it reaches the seller's description, it is also how you find the things only a bookseller writes: 'inscribed to', 'association copy', 'provenance', 'dust jacket chipped'.
conditionoptionalnew · as_new_fine · very_good_good · fair_poor · unspecifiedKeep only copies in one of the source's own five condition BANDS. AbeBooks grades a copy on a nine-step ladder (New, As New, Fine, Near Fine, Very Good, Good, Fair, Poor, Unspecified) but it filters on bands, so these are the bands and the rows still carry the exact grade as `condition` plus the seller's own word for it as `seller_condition`. Note how large `unspecified` is (103,154 on one measured query): an antiquarian dealer often describes a copy in prose instead of picking a grade, and that prose is in `seller_note`.
sort = relevanceoptionalrelevance · price_asc · price_desc · total_price_asc · newest · seller_rating_desc · title_asc · title_desc · year_asc · year_desc · author_asc · author_descRow order. All twelve of the source's own sorts are offered, and the one worth knowing about is `total_price_asc`: it sorts by price PLUS shipping to your destination, which on this marketplace routinely reorders the ladder completely.
page = 1optional1–1-based page. The source's result window is 1800 listings per query, so `page` x `per_page` must stay at or below that — at 50 per page the last readable page is 36. Past it the source answers HTTP 200 with an empty page that looks exactly like the end of the results (measured: a full page at offset 1,780, zero rows at 1,800, 2,000, 5,000, 10,000 and 20,000), which is why this is rejected here with the real maximum instead. Narrow with a filter to reach deeper.
per_page = 20optional1–100Listings per page, 1-100. The source renders its whole page per request, so a bigger page is cheaper per row but heavier per call: measured payloads are 430 KB at 10 rows, 742 KB at 30, 1.06 MB at 50 and 1.86 MB at 100.
currency = USDoptionalUSD · GBP · EUR · CAD · AUD · CHF · DKK · SEK · NOK · NZD · PLN · CZKWhich currency to quote every price and every shipping cost in. AbeBooks converts for you — a seller's own list currency is never published on this surface, so every number you get back is a conversion and every row says so. Only these twelve work: probing nineteen codes on 2026-10-08 found that JPY, MXN, TRY, ZAR, BRL and INR are answered in USD with HTTP 200 and no warning, so an unsupported code is rejected here instead of being silently re-priced. Measured on one listing in one minute: USD 2.20 / GBP 1.71 / EUR 2.02 / CAD 3.23 / CZK 49.23.
ship_to = USAoptionalUSA · GBR · CAN · AUS · NZL · IRL · DEU · FRA · ITA · ESP · PRT · NLD · BEL · LUX · CHE · AUT · DNK · SWE · NOR · FIN · ISL · POL · CZE · SVK · HUN · ROU · BGR · GRC · HRV · SVN · EST · LVA · LTU · MLT · CYP · TUR · RUS · UKR · ISR · ARE · SAU · QAT · KWT · ZAF · EGY · MAR · NGA · KEN · IND · PAK · BGD · LKA · CHN · HKG · TWN · JPN · KOR · SGP · MYS · THA · VNM · IDN · PHL · MEX · BRA · ARG · CHL · COL · PER · URY · CRI · PAN · JAM · BRB · TTO · VEN · ECU · BOL · PRY · GTM · SRB · BIH · MKD · ALB · MDA · GEO · ARM · AZE · KAZ · MNG · NPL · KHM · LAO · MMR · BHR · OMN · JOR · LBN · TUN · DZA · GHA · TZA · UGA · ZWE · MUS · FJI · PNG🔴 THE MOST IMPORTANT PARAMETER ON THIS API. Shipping is quoted per destination, and AbeBooks guesses the destination from the caller's own network when nothing pins it — so this engine always pins it and always tells you which one it used. Measured on ONE listing in ONE minute, book price USD 2.20 throughout: shipping was USD 4.69 to the U.S.A., 40.00 to the United Kingdom, 35.00 to Turkey, 45.00 to Japan and 45.00 to Australia. On that listing the cheapest shipping is DOUBLE the price of the book, which is why `price` and `shipping_price` are separate fields and `total_price` is the one to sort on. ISO-3166 alpha-3; 107 codes were confirmed accepted by the source's own echo, and an unknown code is rejected here because the source answers it with the U.S.A. rate card and no warning.
include_pii = falseoptional—Accepted for gateway compatibility. The seller block is a business identity — shop name, city, country, rating and storefront link — and carries no address, phone number or e-mail, so nothing is withheld either way. Some AbeBooks sellers are one-person shops trading under a personal name; that name is the trading name the marketplace itself publishes.
Try in playground →
post/abebooks/v1/isbn4 credits

Up to 6 ISBNs in one call, each answered with the market summary a pricing job needs: how many sellers have it, the cheapest book price, the cheapest LANDED price including shipping to your destination, the price range, the condition spread, how many copies are new, signed or first editions, and a link to the cheapest copy. Your order is kept and the ISBNs nobody is offering are named.

ParameterAllowed / rangeDescription
isbnsrequired—Up to 6 ISBNs in ONE call, ISBN-13 or ISBN-10 mixed freely. For each one you get the number of sellers offering it, the cheapest book price, the cheapest price INCLUDING shipping to your destination, the price range, the condition spread and a link to the cheapest copy — the shape a repricing or buy-box job actually needs. Your order is preserved and ISBNs with no offer are named. Each ISBN costs one upstream request, so this is capped deliberately.
currency = USDoptionalUSD · GBP · EUR · CAD · AUD · CHF · DKK · SEK · NOK · NZD · PLN · CZKWhich currency to quote every price and every shipping cost in. AbeBooks converts for you — a seller's own list currency is never published on this surface, so every number you get back is a conversion and every row says so. Only these twelve work: probing nineteen codes on 2026-10-08 found that JPY, MXN, TRY, ZAR, BRL and INR are answered in USD with HTTP 200 and no warning, so an unsupported code is rejected here instead of being silently re-priced. Measured on one listing in one minute: USD 2.20 / GBP 1.71 / EUR 2.02 / CAD 3.23 / CZK 49.23.
ship_to = USAoptionalUSA · GBR · CAN · AUS · NZL · IRL · DEU · FRA · ITA · ESP · PRT · NLD · BEL · LUX · CHE · AUT · DNK · SWE · NOR · FIN · ISL · POL · CZE · SVK · HUN · ROU · BGR · GRC · HRV · SVN · EST · LVA · LTU · MLT · CYP · TUR · RUS · UKR · ISR · ARE · SAU · QAT · KWT · ZAF · EGY · MAR · NGA · KEN · IND · PAK · BGD · LKA · CHN · HKG · TWN · JPN · KOR · SGP · MYS · THA · VNM · IDN · PHL · MEX · BRA · ARG · CHL · COL · PER · URY · CRI · PAN · JAM · BRB · TTO · VEN · ECU · BOL · PRY · GTM · SRB · BIH · MKD · ALB · MDA · GEO · ARM · AZE · KAZ · MNG · NPL · KHM · LAO · MMR · BHR · OMN · JOR · LBN · TUN · DZA · GHA · TZA · UGA · ZWE · MUS · FJI · PNG🔴 THE MOST IMPORTANT PARAMETER ON THIS API. Shipping is quoted per destination, and AbeBooks guesses the destination from the caller's own network when nothing pins it — so this engine always pins it and always tells you which one it used. Measured on ONE listing in ONE minute, book price USD 2.20 throughout: shipping was USD 4.69 to the U.S.A., 40.00 to the United Kingdom, 35.00 to Turkey, 45.00 to Japan and 45.00 to Australia. On that listing the cheapest shipping is DOUBLE the price of the book, which is why `price` and `shipping_price` are separate fields and `total_price` is the one to sort on. ISO-3166 alpha-3; 107 codes were confirmed accepted by the source's own echo, and an unknown code is rejected here because the source answers it with the U.S.A. rate card and no warning.
include_pii = falseoptional—Accepted for gateway compatibility. The seller block is a business identity — shop name, city, country, rating and storefront link — and carries no address, phone number or e-mail, so nothing is withheld either way. Some AbeBooks sellers are one-person shops trading under a personal name; that name is the trading name the marketplace itself publishes.
Try in playground →
post/abebooks/v1/filters1 credit

The refinement vocabulary this marketplace actually has, with the exact tokens every filter accepts. Read this instead of guessing. It also states, in writing, the two things AbeBooks does NOT publish: there is no subject or category tree (its search returns no facets at all — `contextualFacets` was empty on every query measured, and `subject=` was tried and does not bite), and there are no facet counts, so no filter here can tell you how many listings it will match before you run it. Answered from measurement, with no upstream call, so it costs nothing and never fails.

ParameterAllowed / rangeDescription
include_pii = falseoptional—Accepted for gateway compatibility. The seller block is a business identity — shop name, city, country, rating and storefront link — and carries no address, phone number or e-mail, so nothing is withheld either way. Some AbeBooks sellers are one-person shops trading under a personal name; that name is the trading name the marketplace itself publishes.
Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.