API ReferenceBlockchain APIGet LogsGet logs by contractVersion: 2.0Get logs by contractGEThttps://deep-index.moralis.io/api/v2/:address/logsGet the logs for a contract.⚠️QUERY PARAMETER CHANGEFrom the 4th September 2023, the topic0 field will now be required, and we will be removing the topic1, topic2, and topic3 fields. Read more here.PATH PARAMSaddressstringrequiredThe address of the contractQUERY PARAMSchainstringThe chain to queryeth0x1goerli0x5sepolia0xaa36a7polygon0x89mumbai0x13881bsc0x38bsc testnet0x61avalanche0xa86afantom0xfapalm0x2a15c308dcronos0x19arbitrum0xa4b1block_numberstringThe block numberProvide the param 'block_numer' or ('from_block' and / or 'to_block')If 'block_numer' is provided in combination with 'from_block' and / or 'to_block', 'block_number' will will be usedfrom_blockstringThe minimum block number from which to get the logsProvide the param 'block_numer' or ('from_block' and / or 'to_block')If 'block_numer' is provided in combination with 'from_block' and / or 'to_block', 'block_number' will will be usedto_blockstringThe maximum block number from which to get the logsProvide the param 'block_numer' or ('from_block' and / or 'to_block')If 'block_numer' is provided in combination with 'from_block' and / or 'to_block', 'block_number' will will be usedfrom_datestringThe start date from which to get the logs (any format that is accepted by momentjs)Provide the param 'from_block' or 'from_date'If 'from_date' and 'from_block' are provided, 'from_block' will be used.If 'from_date' and the block params are provided, the block params will be used. Please refer to the blocks params sections (block_number,from_block and to_block) on how to use themto_datestringGet the logs up to this date (any format that is accepted by momentjs)Provide the param 'to_block' or 'to_date'If 'to_date' and 'to_block' are provided, 'to_block' will be used.If 'to_date' and the block params are provided, the block params will be used. Please refer to the blocks params sections (block_number,from_block and to_block) on how to use themtopic0stringtopic0topic1stringtopic1topic2stringtopic2topic3stringtopic3limitnumberThe desired page size of the result.disable_totalboolean⚠️ Deprecating soon. If the result should skip returning the total count (Improves performance). This parameter defaults to true.falsetruecursorstringThe cursor returned in the previous response (used for getting the next page). Learn more on cursor pagination here.Responses200 Returns the logs for an addressobjectAPI KEYTest Live APINode.jsPythoncURLGoPHPimport Moralis from 'moralis';try { await Moralis.start({ apiKey: "YOUR_API_KEY" }); const response = await Moralis.EvmApi.events.getContractLogs({ "chain": "0x1", "address": "0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB" }); console.log(response.raw);} catch (e) { console.error(e);}from moralis import evm_apiapi_key = "YOUR_API_KEY"params = { "chain": "eth", "address": "0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB"}result = evm_api.events.get_contract_logs( api_key=api_key, params=params,)print(result)curl --request GET \ --url 'https://deep-index.moralis.io/api/v2/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB/logs?chain=eth' \ --header 'accept: application/json' \ --header 'X-API-Key: YOUR_API_KEY' package mainimport ( "fmt" "net/http" "io/ioutil")func main() { url := "https://deep-index.moralis.io/api/v2/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB/logs?chain=eth" req, _ := http.NewRequest("GET", url, payload) req.Header.Add("Accept", "application/json") req.Header.Add("X-API-Key", "YOUR_API_KEY") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body))}<?php// Dependencies to install:// $ composer require guzzlehttp/guzzlerequire_once('vendor/autoload.php');$client = new \GuzzleHttp\Client();$response = $client->request('GET', 'https://deep-index.moralis.io/api/v2/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB/logs?chain=eth', [ 'headers' => [ 'Accept' => 'application/json', 'X-API-Key' => 'YOUR_API_KEY', ],]);echo $response->getBody();Response Example200 Returns the logs for an address{ "total": "100", "page": "1", "page_size": "100", "cursor": "", "result": { "transaction_hash": "0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09", "address": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e", "block_timestamp": "2021-04-02T10:07:54.000Z", "block_number": 12526958, "block_hash": "0x0372c302e3c52e8f2e15d155e2c545e6d802e479236564af052759253b20fd86", "data": "0x00000000000000000000000000000000000000000000000de05239bccd4d537400000000000000000000000000024dbc80a9f80e3d5fc0a0ee30e2693781a443", "topic0": "0x2caecd17d02f56fa897705dcc740da2d237c373f70686f4e0d9bd3bf0400ea7a", "topic1": "0x000000000000000000000000031002d15b0d0cd7c9129d6f644446368deae391", "topic2": "0x000000000000000000000000d25943be09f968ba740e0782a34e710100defae9", "topic3": "", "transaction_index": 12, "log_index": 15 }}