eth_getFilterLogs - Ethereum
Example code for the eth_getFilterLogs JSON RPC method. Сomplete guide on how to use eth_getFilterLogs JSON RPC in GetBlock Web3 documentation.
This method returns all logs matching a log filter over its entire block range. Unlike eth_getFilterChanges (which returns only new entries since the last poll), this returns the full historical result. Combines with eth_newFilter to create a filter once and reuse it for historical queries.
Parameters
filterId
string
Yes
Hex-encoded filter ID from a previous eth_newFilter
Request
curl --location --request POST 'https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/' \
--header 'Content-Type: application/json' \
--data-raw '{
"jsonrpc": "2.0",
"method": "eth_getFilterLogs",
"params": [
"0x16"
],
"id": "getblock.io"
}'const axios = require('axios');
const response = await axios.post('https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/', {
jsonrpc: '2.0',
method: 'eth_getFilterLogs',
params: [
"0x16"
],
id: 'getblock.io'
}, {
headers: { 'Content-Type': 'application/json' }
});
console.log(response.data.result);Response
{
"jsonrpc": "2.0",
"id": "getblock.io",
"result": [
{
"address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"0x000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045",
"0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
],
"data": "0x000000000000000000000000000000000000000000000000016345785d8a0000",
"blockNumber": "0x1720340",
"transactionHash": "0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b",
"transactionIndex": "0x0",
"blockHash": "0x9ec8e2f6b78d8f5f2ac3e5d61b0d38d4d5a8f0e7c8b5a2f9d3e6c1b7a4d0f2e5c",
"logIndex": "0x0",
"removed": false
}
]
}Response Parameters
jsonrpc
string
JSON-RPC protocol version ("2.0")
id
string
Request identifier matching the request
result
array of object
All matching log entries over the filter's block range
Use Cases
Historical Backfill: Retrieve all events matching a filter's criteria over the filter's block window
Filter Reuse: Query historical logs multiple times without re-declaring filter criteria in each call
Explorer Contract Activity: Fetch all events for a contract page in an explorer UI
Error Handling
-32602
Invalid params
Filter ID is malformed or the filter has expired
-32603
Internal error
Node failed to retrieve matching logs
Web3 Integration
Last updated
Was this helpful?