Now in beta: NFT Orderbook API

Users can now retrieve aggregated bid and ask data across major marketplaces using Center.


Note: These endpoints are currently in beta and we are eager for feedback. Please give them a try and provide any feedback to support@center.app.

If you're interested in NFTs, chances are you've bought or sold one.

There are a number of marketplaces where this can be done. While this variety may be great for users, it adds complexity for any developer looking to incorporate marketplace data into their application. In many cases, this means individual integrations with each marketplace and constant data retrieval and aggregation.

We are excited to unveil a set of new Orderbook endpoints to solve this problem:

  • getOrderbookData: Retrieve active bids and asks for a specified collection across major marketplaces
  • getOrderbookDataByTokenID: Retrieve active bids and asks for a specified NFT across major marketplaces

Check out our documentation here for more details on these endpoints.

Our orderbook endpoints aggregate data from top marketplaces, including:

  • OpenSea
  • LooksRare
  • X2Y2

We have rolled out support for these endpoints on ethereum-mainnet so far, but will be adding support for other chains (and marketplaces) soon.

We provide the following information:

  • id: Unique identifier for bid / ask
  • listedAt: Time when the bid / ask was created
  • expiresAt: Time when the bid / ask expires
  • networkId: Blockchain
  • marketplace: Marketplace where bid / ask was created
  • orderType: Type of order (Bid or ask)
  • collectionAddress: Address for collection
  • tokenId: Token ID of asset included in listing
  • price: Array of information on currency and price of listing
  • quantity: Quantity of assets included in listing
  • buyerAddress: Wallet address of prospective buyer
  • sellerAddress: Wallet address of prospective seller
  • permalink: Link to marketplace listing
  • status: Status of listing
  • isCollectionOffer: If listing is collection offer

We are eager for feedback and will be iterating on these endpoints in the coming weeks. Something else you would like to see on this list? Let us know.

See below for an example of what Center can power:

Retrieve active bids and asks for Bored Ape Yacht Club #1:

curl --request GET \
     --url 'https://api.center.dev/experimental/ethereum-mainnet/0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D/1/orderbook?limit=2' \
     --header 'X-API-Key: test' \
     --header 'accept: application/json'

Response (Limited to 2):

{
  "items": [
    {
      "id": "589792a7-4aa8-4a00-9755-8a2cf1b62489",
      "listedAt": "2022-10-30 08:35:15 +0000 UTC",
      "expiresAt": "2023-04-28 07:35:12 +0000 UTC",
      "networkId": "ethereum-mainnet",
      "marketplace": "looksrare",
      "orderType": "bid",
      "collectionAddress": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
      "tokenId": "",
      "price": {
        "currencyInfo": {
          "symbol": "WETH",
          "decimals": 18,
          "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
          "isNative": false
        },
        "amount": {
          "atomicAmount": "750000000000000000",
          "wholeAmount": 0.75
        }
      },
      "quantity": "1",
      "buyerAddress": "0x77C0c1c3d55A9aFad3ad19f231259cf78A203a8D",
      "sellerAddress": "0x0000000000000000000000000000000000000000",
      "permalink": "",
      "status": "valid",
      "isCollectionOffer": true
    },
    {
      "id": "19e42ae4-096c-4f84-96a6-5ffac526a85e",
      "listedAt": "2022-11-14 05:11:58 +0000 UTC",
      "expiresAt": "2023-05-13 05:11:46 +0000 UTC",
      "networkId": "ethereum-mainnet",
      "marketplace": "looksrare",
      "orderType": "bid",
      "collectionAddress": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
      "tokenId": "",
      "price": {
        "currencyInfo": {
          "symbol": "WETH",
          "decimals": 18,
          "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
          "isNative": false
        },
        "amount": {
          "atomicAmount": "290000000000000000",
          "wholeAmount": 0.29
        }
      },
      "quantity": "1",
      "buyerAddress": "0x6Fa9f801e06DE0B8A61dE91F051d9F052B930b12",
      "sellerAddress": "0x0000000000000000000000000000000000000000",
      "permalink": "",
      "status": "valid",
      "isCollectionOffer": true
    }
  ],
  "paging": {
    "offset": 0,
    "limit": 2,
    "onLastPage": false
  }
}

Other requests or ideas? Please submit a feature request or reach out to our support team.