Search Events
POST
Searches for specific events within a specified range.
🚧 Getting a 429 error? Check your subscription plan!
A 429 error may occur when the throughput limit of your subscribed plan is exceeded.
For example, the Starter plan has a limit of 300 CU per second, so calling an API that consumes 350 CU while on the Starter plan may result in a 429 error.
Check the CU consumption of the API you are using on the Compute Unit Costs page, and consider upgrading to a higher plan if you need more throughput!
Path Parameters
chainstringrequired
Parameter specifying the target chain to query.networkstringrequired
Parameter specifying the network of the target chain.Request Body
contractAddressstringrequired
Parameter specifying the contract address to query. Can be entered as a 40-character hexadecimal string starting with 0x.eventNamesarrayrequired
abiarrayrequired
Parameter specifying the ABI of the contract to query. Provided as an array of ABI item objects.anonymousboolean
Indicates whether the event is anonymous.inputsarray
List of input parameters for the function or event.inputs[0]
indexedboolean
Indicates whether the event parameter is indexed.internalTypestring
The Solidity internal type.namestring
The parameter name.typestring
The ABI type.inputs[1]
indexedboolean
Indicates whether the event parameter is indexed.internalTypestring
The Solidity internal type.namestring
The parameter name.typestring
The ABI type.inputs[2]
indexedboolean
Indicates whether the event parameter is indexed.internalTypestring
The Solidity internal type.namestring
The parameter name.typestring
The ABI type.namestring
The name of the function or event.typestring
The kind of ABI item (e.g. event, function).fromBlockstring
Parameter specifying the starting block for the query. You can enter one of the following formats:- block number: Enter block number as a decimal string.
- block hash: 64-character hexadecimal (including "0x").
- block tag: Use "earliest" or "latest" to specify the first block or the most recent block.
- This field cannot be used together with
fromDateandtoDate. - If provided without fromBlock, results are queried from genesis block to this block.
- toBlock value cannot be less than fromBlock value.
- If fromBlock and toBlock have the same value, only that block is queried.
- "earliest" for toBlock is only allowed when fromBlock is "earliest".
- If
fromBlockandtoBlockare not provided, the API queries data from the latest 30 days.
toBlockstring
Parameter specifying the ending block for the query. You can enter one of the following formats:- block number: Enter block number as a decimal string.
- block hash: 64-character hexadecimal (including "0x").
- block tag: Use "earliest" or "latest" to specify the first block or the most recent block.
- This field cannot be used together with
fromDateandtoDate. - If provided without fromBlock, results are queried from genesis block to this block.
- toBlock value cannot be less than fromBlock value.
- If fromBlock and toBlock have the same value, only that block is queried.
- "earliest" for toBlock is only allowed when fromBlock is "earliest".
- If
fromBlockandtoBlockare not provided, the API queries data from the latest 30 days.
fromDatestring
Parameter specifying the start date for the query. Date must follow ISO 8601 format (YYYY-MM-DDThh:mm:ss{time zone}) including seconds.Notes:- If provided without toDate, results are queried from this date to the latest block.
- fromDate value must be equal to or earlier than toDate value.
- If fromDate and toDate have the same value, only blocks from that date are queried.
- This field cannot be used together with fromBlock and toBlock.
- If
fromDateandtoDateare not provided, the API queries data from the latest 30 days.
toDatestring
Parameter specifying the end date for the query. Date must follow ISO 8601 format (YYYY-MM-DDThh:mm:ss{time zone}) including seconds.Notes:- If provided without fromDate, results are queried from genesis block to this date.
- toDate value must be equal to or later than fromDate value.
- If fromDate and toDate have the same value, only blocks from that date are queried.
- This field cannot be used together with fromBlock and toBlock.
- If
fromDateandtoDateare not provided, the API queries data from the latest 30 days.
pageinteger
The page parameter specifies the data page to query. It accepts values up to 100; for pages exceeding 100, use the cursor pagination method.The page and cursor parameters cannot be used together. If both page and cursor are empty, cursor pagination is used.rppinteger
rpp stands for results per page and specifies the page size. You can specify a number greater than 0 and up to 100.cursorstring
The cursor parameter supports pagination and data navigation between pages. Provide the cursor value from the previous page in the next request to load the next page of data.The page and cursor parameters cannot be used together. If both page and cursor are empty, cursor pagination is used.withCountboolean
Parameter specifying whether to include the count field in the response. The count field indicates the total number of requested data items. When set to true, the count field is included and response speed may be slower.Responses
pageinteger
Field representing the page number specified in the page parameter. This field is only included in the response when a value greater than 0 is specified for the page parameter.rppinteger
Field representing the number of results per page specified in the rpp parameter.cursorstring
A field for cursor pagination. This value must be provided in the next request to load the next page of data.countinteger
Field representing the total count of requested data. This field is only included in the response when true is set for the withCount parameter.Field representing the actual range applied to the query. The same kind of values used in the request's range parameters are returned. A Date-based request returns fromDate and toDate, a Block-based request returns fromBlock and toBlock, and a Ledger-based request returns fromLedger and toLedger; different kinds are never mixed in a single response. When all range parameters are omitted, a default window of the last 30 days is applied and fromDate, toDate are returned. Block and Ledger values are always returned as heights (numbers), even if a hash or tag (latest, earliest) was provided in the request.
fromDatestring
Field representing the start of the query range in Date mode. Returned in ISO 8601 format.toDatestring
Field representing the end of the query range in Date mode. Returned in ISO 8601 format.fromBlockinteger
Field representing the start block height of the query range in Block mode.toBlockinteger
Field representing the end block height of the query range in Block mode.fromLedgerinteger
Field representing the start ledger index of the query range in Ledger mode.toLedgerinteger
Field representing the end ledger index of the query range in Ledger mode.contractAddressstringrequired
A field representing the contract address that generated the log. Provided as a 40-character hexadecimal string prefixed with 0x.transactionHashstringrequired
A field representing the hash of the transaction that generated the log. Provided as a 64-character hexadecimal string prefixed with 0x.transactionIndexintegerrequired
A field representing the index of the transaction that generated the log. Indicates the order within the block. Provided in decimal string format.blockHashstringrequired
A field representing the hash of the block that generated the log. Provided as a 64-character hexadecimal string prefixed with 0x.blockNumberintegerrequired
A field representing the block number that generated the log.datastringrequired
A field representing the data of the log. Provided as a hexadecimal string prefixed with 0x. This field represents the event data of the log.logIndexintegerrequired
A field representing the index of the log. Indicates the order of events in the transaction. Provided in decimal string format.removedbooleanrequired
A field indicating whether the log was removed. Returns true if the log was removed due to chain reorganization (Reorg).topicsarrayrequired
A field representing the indexed arguments of the log. Can have up to 4 topics.decodedTopicsobjectrequired
An object decoded based on the ABI provided in the request.The value type of all sub-fields is always string.- The number and names of fields may vary per Event Signature.
eventSignaturestringrequired
The event signature decoded based on the ABI provided in the request.eventNamestringrequired
The value provided as eventName in the request.codestringrequired
Code identifying the cause of the failed request.messagestringrequired
Detailed message including the name and value of the invalid parameter.{"code": "MISSING_REQUIRED_PARAMETER","message": "Missing required parameter: { PARAMETER_NAME }"}
cURL
curl -X POST 'https://web3.nodit.io/v1/avalanche/mainnet/blockchain/searchEvents' \-H 'Content-Type: application/json' \-H 'X-API-KEY: nodit-demo' \-d '{"contractAddress": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","eventNames": ["Transfer"],"abi": [{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "from","type": "address"},{"indexed": true,"internalType": "address","name": "to","type": "address"},{"indexed": false,"internalType": "uint256","name": "value","type": "uint256"}],"name": "Transfer","type": "event"}],"fromDate": "2025-01-01T00:00:00+00:00","toDate": "2025-01-31T00:00:00+00:00"}'