For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

Parameter
Type
Required
Description

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"
}'
example.js
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

Parameter
Type
Description

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

Error Code
Message
Description

-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?