# eth\_getLogs - Ethereum

## How to Use the eth\_getLogs Method

The size of response for getFilterLogs method varies due to your block range:

* **Block range > 50K:** unavailable
* **Block range <= 100:** No limitations
* **Block range between 100 and 50K:** No more than 50K records can be responded

### **Parameters**

Object - The following available filter options:

* address \[variable] - a string that shows the address (20 bytes) which balances you want to look up
* fromBlock \[variable, default is "latest"] - the string "latest", "earliest" or "pending", or an integer block number
* toBlock \[variable, default is "latest"] - the string "latest", "earliest" or "pending", or an integer block number"
* topics\[variable] - Array of 32 Bytes order-dependent DATA topics.
* blockhash:\[variable] If you add EIP-234, blockHash will restrict the logs returned to the single block with the 32-byte hash blockHash. Using blockHash has the same meaning as fromBlock = toBlock = the block number with hash blockHash. If blockHash you add in the filter criteria, then neither fromBlock nor toBlock won’t be available.

### What you receive

LOG OBJECTS - Array with log objects in it. In case if nothing has changed since the last poll you’ll receive an empty one.

* logs will be presented as objects with parameters stated below:
  * removed: TAG - true in case of the log removal, because of a chain reorganization. false if it's an existing actual log.
  * logIndex: QUANTITY - the log index position presented as an integer. returns null in case of a pending log.
  * transactionIndex: QUANTITY - the transactions index position log was created from, has an integer form. null in case of a pending log.
  * transactionHash: DATA, 32 Bytes - transactions’ hash that has created this log. returns null in case of a pending log.
  * blockHash: DATA, 32 Bytes - the block’s hash where this log was located. returns null in case of a pending log.
  * blockNumber: QUANTITY - the block’s number where this log was located. returns null in case of a pending log.
  * address: DATA, 20 Bytes - the log’s origination address.
  * data: DATA - a param with the log’s non-indexed arguments.
  * topics: Array of DATA - contains from 0 to 4 32 Bytes DATA with indexed log arguments. (In solidity: The first topic is the hash of the signature of the event (such as Deposit(address,bytes32,uint256)), unless the event declaration is with the anonymous specifier.)

### Sample

Here is a typical appliance example.

#### Call

{% tabs %}
{% tab title="Curl" %}

```
curl https://eth-mainnet.rpcfast.com/?api_key=<key> \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_getLogs","params":[{"address": "0xb59f67a8bff5d8cd03f6ac17265c550ed8f33907","topics": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"],"blockHash": "0x8243343df08b9751f5ca0c5f8c9c0460d8a9b6351066fae0acbd4d3e776de8bb"}],"id":0}'

```

{% endtab %}
{% endtabs %}

#### Outcome

```
{
    "jsonrpc": "2.0",
    "id": 73,
    "result": [{
        "address": "0xb5a5f22694352c15b00323844ad545abb2b11028",
        "blockHash": "0x99e8663c7b6d8bba3c7627a17d774238eae3e793dee30008debb2699666657de",
        "blockNumber": "0x5d12ab",
        "data": "0x0000000000000000000000000000000000000000000000a247d7a2955b61d000",
        "logIndex": "0x0",
        "removed": false,
        "topics": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000bdc0afe57b8e9468aa95396da2ab2063e595f37e", "0x0000000000000000000000007503e090dc2b64a88f034fb45e247cbd82b8741e"],
        "transactionHash": "0xa74c2432c9cf7dbb875a385a2411fd8f13ca9ec12216864b1a1ead3c99de99cd",
        "transactionIndex": "0x3"
    }, {
        "address": "0xe38165c9f6deb144afc9c32c206b024817e1496d",
        "blockHash": "0x99e8663c7b6d8bba3c7627a17d774238eae3e793dee30008debb2699666657de",
        "blockNumber": "0x5d12ab",
        "data": "0x0000000000000000000000000000000000000000000000000000000025c6b720",
        "logIndex": "0x3",
        "removed": false,
        "topics": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x00000000000000000000000080e73e47173b2d00b531bf83bc39e710157125c3", "0x0000000000000000000000008f6cc93795969e5bbbf07c66dfee7d41ad24f1ef"],
        "transactionHash": "0x9e8f1cb1facb9a11a1cf947634053a0b2d557399f926b12127aa10497a2f0153",
        "transactionIndex": "0x5"
    }
}

```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.rpcfast.com/rpc-fast-saas-evm/ethereum-api/eth_getlogs-ethereum.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
