LooksRare Events API
Retrieve token and order activity events from the LooksRare marketplace, including listings, sales, offers, and cancellations.
Retrieve token and order activity events from the LooksRare marketplace, including listings, sales, offers, and cancellations.
openapi: 3.1.0
info:
title: LooksRare Public Collections Events API
description: LooksRare is a community-first NFT marketplace built on Ethereum. The public REST API exposes read and write access to orders, events (listings, sales, offers, cancellations), token metadata, and collection data across Ethereum Mainnet (https://api.looksrare.org) and the Sepolia testnet (https://api-sepolia.looksrare.org). A mainnet API key is required for write operations such as order creation.
version: 2.0.0
contact:
url: https://looksrare.dev
license:
name: Attribution Required
url: https://looksrare.dev
x-logo:
url: https://looksrare.org/favicon.ico
servers:
- url: https://api.looksrare.org/api
description: Ethereum Mainnet
- url: https://api-sepolia.looksrare.org/api
description: Sepolia Testnet
security: []
tags:
- name: Events
description: Retrieve token and order activity events from the LooksRare marketplace, including listings, sales, offers, and cancellations.
paths:
/v2/events:
get:
operationId: getEvents
summary: Get V2 marketplace events
description: Retrieve token and order activity events from the LooksRare V2 marketplace including LIST, SALE, OFFER, CANCEL_LIST, and CANCEL_OFFER event types. Results are ordered by creation timestamp. For V1 events, mints, and transfers use the /v1/events endpoint.
tags:
- Events
parameters:
- name: collection
in: query
description: Filter events by collection contract address.
schema:
$ref: '#/components/schemas/EthereumAddress'
- name: itemId
in: query
description: Filter by specific token ID. Requires the collection parameter.
schema:
type: string
- name: from
in: query
description: Filter by sender (from) Ethereum address.
schema:
$ref: '#/components/schemas/EthereumAddress'
- name: to
in: query
description: Filter by receiver (to) Ethereum address.
schema:
$ref: '#/components/schemas/EthereumAddress'
- name: type
in: query
description: Filter by event type.
schema:
$ref: '#/components/schemas/EventType'
- name: pagination[first]
in: query
description: Number of results per page (default 20, max 150).
schema:
type: integer
minimum: 1
maximum: 150
default: 20
- name: pagination[cursor]
in: query
description: Cursor for pagination; use the ID of the last event from the previous page.
schema:
type: string
responses:
'200':
description: List of marketplace events matching the filters.
content:
application/json:
schema:
$ref: '#/components/schemas/EventListResponse'
'400':
$ref: '#/components/responses/BadRequest'
'429':
$ref: '#/components/responses/RateLimitExceeded'
'500':
$ref: '#/components/responses/InternalServerError'
/v1/events:
get:
operationId: getV1Events
summary: Get V1 marketplace events
description: Retrieve historical V1 protocol events including mints, transfers, and legacy order events. Use /v2/events for current marketplace activity.
tags:
- Events
parameters:
- name: collection
in: query
description: Filter events by collection contract address.
schema:
$ref: '#/components/schemas/EthereumAddress'
- name: itemId
in: query
description: Filter by specific token ID.
schema:
type: string
- name: from
in: query
description: Filter by sender Ethereum address.
schema:
$ref: '#/components/schemas/EthereumAddress'
- name: to
in: query
description: Filter by receiver Ethereum address.
schema:
$ref: '#/components/schemas/EthereumAddress'
- name: type
in: query
description: Filter by event type.
schema:
type: string
enum:
- LIST
- SALE
- OFFER
- CANCEL_LIST
- CANCEL_OFFER
- MINT
- TRANSFER
- name: pagination[first]
in: query
description: Number of results per page (default 20, max 150).
schema:
type: integer
minimum: 1
maximum: 150
default: 20
- name: pagination[cursor]
in: query
description: Cursor for pagination.
schema:
type: string
responses:
'200':
description: List of V1 marketplace events.
content:
application/json:
schema:
$ref: '#/components/schemas/EventListResponse'
'400':
$ref: '#/components/responses/BadRequest'
'429':
$ref: '#/components/responses/RateLimitExceeded'
'500':
$ref: '#/components/responses/InternalServerError'
/v2/events/seaport:
get:
operationId: getSeaportEvents
summary: Get LooksRare Seaport events
description: Retrieve marketplace events for orders executed through the LooksRare Seaport integration.
tags:
- Events
parameters:
- name: collection
in: query
description: Filter events by collection contract address.
schema:
$ref: '#/components/schemas/EthereumAddress'
- name: itemId
in: query
description: Filter by specific token ID.
schema:
type: string
- name: pagination[first]
in: query
description: Number of results per page (default 20, max 150).
schema:
type: integer
minimum: 1
maximum: 150
default: 20
- name: pagination[cursor]
in: query
description: Cursor for pagination.
schema:
type: string
responses:
'200':
description: List of Seaport marketplace events.
content:
application/json:
schema:
$ref: '#/components/schemas/EventListResponse'
'400':
$ref: '#/components/responses/BadRequest'
'429':
$ref: '#/components/responses/RateLimitExceeded'
'500':
$ref: '#/components/responses/InternalServerError'
components:
schemas:
Token:
type: object
description: NFT token metadata as indexed by LooksRare.
properties:
id:
type: string
description: Token ID within the collection.
collection:
$ref: '#/components/schemas/Collection'
name:
type: string
description: Token name.
nullable: true
description:
type: string
description: Token description.
nullable: true
image:
type: string
format: uri
description: Token image URI.
nullable: true
animationURI:
type: string
format: uri
description: Token animation or video URI.
nullable: true
attributes:
type: array
description: On-chain attribute traits for this token.
items:
type: object
properties:
traitType:
type: string
value:
type: string
displayType:
type: string
nullable: true
ErrorResponse:
type: object
properties:
success:
type: boolean
example: false
message:
type: string
description: Human-readable error message.
EventType:
type: string
enum:
- LIST
- SALE
- OFFER
- CANCEL_LIST
- CANCEL_OFFER
description: Type of marketplace event.
Event:
type: object
description: A marketplace activity event on LooksRare.
properties:
id:
type: string
description: Unique event identifier.
type:
$ref: '#/components/schemas/EventType'
collection:
$ref: '#/components/schemas/Collection'
token:
$ref: '#/components/schemas/Token'
from:
$ref: '#/components/schemas/EthereumAddress'
to:
$ref: '#/components/schemas/EthereumAddress'
nullable: true
price:
type: string
description: Sale or offer price in wei.
nullable: true
createdAt:
type: string
format: date-time
description: Timestamp when the event was recorded.
hash:
type: string
description: On-chain transaction hash for settled events.
nullable: true
Collection:
type: object
description: NFT collection metadata as indexed by LooksRare.
properties:
address:
$ref: '#/components/schemas/EthereumAddress'
name:
type: string
description: Collection name.
description:
type: string
description: Collection description.
nullable: true
symbol:
type: string
description: Collection token symbol.
nullable: true
type:
$ref: '#/components/schemas/CollectionType'
logoURI:
type: string
format: uri
description: URI for the collection logo image.
nullable: true
bannerURI:
type: string
format: uri
description: URI for the collection banner image.
nullable: true
totalSupply:
type: integer
description: Total token supply in the collection.
nullable: true
verified:
type: boolean
description: Whether the collection is verified by LooksRare.
EventListResponse:
type: object
properties:
success:
type: boolean
message:
type: string
nullable: true
data:
type: array
items:
$ref: '#/components/schemas/Event'
CollectionType:
type: integer
enum:
- 0
- 1
description: NFT collection standard. 0 = ERC-721, 1 = ERC-1155.
EthereumAddress:
type: string
pattern: ^0x[a-fA-F0-9]{40}$
description: A valid Ethereum contract or wallet address (42 characters including 0x prefix).
example: '0x60e4d786628fea6478f785a6d7e704777c86a7c6'
responses:
InternalServerError:
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
BadRequest:
description: Invalid request parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
RateLimitExceeded:
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
securitySchemes:
ApiKeyHeader:
type: apiKey
in: header
name: X-Looks-Api-Key
description: API key required for mainnet write operations (order creation). Not needed for read endpoints or testnet.
externalDocs:
description: LooksRare Developer Documentation
url: https://looksrare.dev