Routescan (Snowtrace) Logs API

Smart contract event log query endpoints.

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/snowtrace-logs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

snowtrace-logs-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Routescan (Snowtrace) Etherscan-Compatible Accounts Logs API
  description: 'Routescan is the first multichain ecosystem explorer, search, API, and analytics platform for all major EVM chains. Operating as Snowtrace for Avalanche C-Chain, Routescan provides high-speed REST APIs compatible with the Etherscan API format, delivering near real-time access to transactions, token transfers, smart contract data, and event logs across Avalanche C-Chain, Arbitrum, Optimism, Base, and 40+ other EVM networks. A single API key grants multichain access across all indexed chains.

    '
  version: '2.0'
  contact:
    name: Routescan Support
    url: https://snowtrace.io/contactus
  termsOfService: https://snowtrace.io/
servers:
- url: https://api.routescan.io/v2/network/mainnet/evm/{chainId}/etherscan/api
  description: Routescan Multichain API (mainnet)
  variables:
    chainId:
      default: '43114'
      description: 'EVM chain ID. Use 43114 for Avalanche C-Chain mainnet, 43113 for Avalanche Fuji testnet.

        '
- url: https://api.routescan.io/v2/network/testnet/evm/{chainId}/etherscan/api
  description: Routescan Multichain API (testnet)
  variables:
    chainId:
      default: '43113'
      description: EVM chain ID for testnet networks.
security:
- apiKey: []
- {}
tags:
- name: Logs
  description: Smart contract event log query endpoints.
paths:
  /logs/getLogs:
    get:
      operationId: getLogs
      summary: Get event logs by address and topics
      description: 'Returns event logs emitted by a smart contract address, filtered by block range and up to four indexed topics.

        '
      tags:
      - Logs
      parameters:
      - name: module
        in: query
        required: true
        schema:
          type: string
          enum:
          - logs
      - name: action
        in: query
        required: true
        schema:
          type: string
          enum:
          - getLogs
      - name: address
        in: query
        required: false
        schema:
          type: string
        description: Contract address to filter logs.
      - $ref: '#/components/parameters/startblockParam'
      - $ref: '#/components/parameters/endblockParam'
      - name: topic0
        in: query
        required: false
        schema:
          type: string
        description: First indexed event topic (event signature hash).
      - name: topic1
        in: query
        required: false
        schema:
          type: string
        description: Second indexed event topic.
      - name: topic2
        in: query
        required: false
        schema:
          type: string
        description: Third indexed event topic.
      - name: topic3
        in: query
        required: false
        schema:
          type: string
        description: Fourth indexed event topic.
      - name: topic0_1_opr
        in: query
        required: false
        schema:
          type: string
          enum:
          - and
          - or
        description: Logical operator between topic0 and topic1.
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/offsetParam'
      - $ref: '#/components/parameters/apikeyParam'
      responses:
        '200':
          description: List of event logs
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ApiResponse'
                - type: object
                  properties:
                    result:
                      type: array
                      items:
                        $ref: '#/components/schemas/LogItem'
components:
  schemas:
    ApiResponse:
      type: object
      properties:
        status:
          type: string
          enum:
          - '0'
          - '1'
          description: 1 for success, 0 for error.
        message:
          type: string
          description: Human-readable status message (OK or NOTOK).
        result:
          description: The response payload (varies by endpoint).
      required:
      - status
      - message
      - result
    LogItem:
      type: object
      properties:
        address:
          type: string
        topics:
          type: array
          items:
            type: string
        data:
          type: string
        blockNumber:
          type: string
        blockHash:
          type: string
        timeStamp:
          type: string
        gasPrice:
          type: string
        gasUsed:
          type: string
        logIndex:
          type: string
        transactionHash:
          type: string
        transactionIndex:
          type: string
  parameters:
    endblockParam:
      name: endblock
      in: query
      required: false
      schema:
        type: integer
        default: 99999999
      description: Ending block number for block-range queries.
    pageParam:
      name: page
      in: query
      required: false
      schema:
        type: integer
        default: 1
      description: Page number for paginated results.
    apikeyParam:
      name: apikey
      in: query
      required: false
      schema:
        type: string
      description: API key for authenticated access. Use "placeholder" for free tier.
    offsetParam:
      name: offset
      in: query
      required: false
      schema:
        type: integer
        default: 10
      description: Number of results per page (max 10000).
    startblockParam:
      name: startblock
      in: query
      required: false
      schema:
        type: integer
        default: 0
      description: Starting block number for block-range queries.
  securitySchemes:
    apiKey:
      type: apiKey
      in: query
      name: apikey
      description: 'Optional for free-tier usage (2 req/s, 10,000 calls/day). Register at routescan.io for increased limits.

        '