Inventory Update API

Change Log

  • July 2026 — Added support for the printing field
  • August 2025 — Increased support for seller-provided images from 5 to 20
  • October 2024 — Added optional field languageIsoCode
  • October 2023 — Added optional fields shippingTemplateID and weight (with unit attribute). Added validation for invalid ShippingTemplateIDs (Code: 607).

Introduction

The Inventory Update API is an HTTP-based service for managing your inventory of new, used, rare, and out-of-print books on AbeBooks. You send XML-formatted requests over HTTPS and receive XML responses. The API is designed to integrate with your inventory management system, enabling near-real-time updates to your AbeBooks listings.

Minimum Requirements

  • An AbeBooks vendor account with a valid client PIN and API Key.
  • Ability to make HTTPS requests with XML request/response bodies.
  • In-depth understanding of XML. For more information, see https://www.w3.org/XML/.
  • Appropriate system access to open port 10027 for outbound HTTPS traffic.
  • The vendor must manage unique Book IDs (vendorBookID) from their inventory tool/system.
  • When sending an inventory update request, the vendor must include all book information, as the server will update all fields with each request. The exception to this is delete requests.

Service Address

Requests are sent as standard HTTPS requests with an XML body to the following endpoint:

URL: https://inventoryupdate.abebooks.com:10027/

HTTP Method: PUT (POST is also accepted)

Content-Type: text/xml or application/xml

Example using curl:

curl -X PUT \
  -H "Content-Type: text/xml" \
  --data-binary @request.xml \
  https://inventoryupdate.abebooks.com:10027/

Security

All requests must be made over HTTPS (TLS).

The API supports two authentication methods:

  1. Request signing: Use HMAC-SHA256 request signing with an access key / secret key pair. See Signing Requests for details. The username field in the XML body is still required to identify the vendor account.

  2. Legacy credentials: Include your client PIN and API Key in the username and password fields of the XML request body.

AbeBooks does not have a separate test environment for the Inventory Update server. You are responsible for verifying that your client software works as expected. To test your system, you can add, delete, and update books via the server using your existing vendor account credentials.

Overview of Service Usage and Functionality

The API has a single operation: the inventoryUpdateRequest. Each request includes credentials (in the action element) and a list of books to process (in the AbebookList element). The AbebookList may contain up to 100 books. Each book includes a transactionType of "add," "update," or "delete."

The vendor must manage unique Book IDs in their system and send that ID with each request in the vendorBookID tag.

If an "add" or "update" request is sent for a book with a vendorBookID that already exists in the vendor's online inventory, the book will be updated with the new information. If any tags are empty or omitted, any existing information in the corresponding fields will be removed.

Use Cases

Vendor adds a new book — Send an inventory update request with the transaction type "add".

Book is no longer available for sale — Send an inventory update request with the transaction type "delete". If the same book becomes available later, send a request with the transaction type "update" to reinstate it.

Vendor updates a book — Send an inventory update request with the transaction type "update". All book information must be included — empty or omitted fields will clear existing data.

Vendor reinstates a previously deleted book — Send an inventory update request with the transaction type "update" for the same vendorBookID.