> ## Documentation Index
> Fetch the complete documentation index at: https://docs.axle.energy/llms.txt
> Use this file to discover all available pages before exploring further.

# Search meters

> Search for all electricity meters in the vicinity of a given postcode/ address.

This endpoint allows searching for meters by postcode and optionally by building identifier. For data protection and contractual reasons, meter details are returned in an encrypted format that can be used in subsequent API calls to retrieve the full meter information.

The search works in three steps:
1. Search for meters at the specified address using this endpoint
2. Ask the end-user to select the correct address from the list
3. Call the `/meter/by-ref/{meter_ref}` endpoint with the corresponding reference to get the full meter details

NB: This should not be used with procedural address matching; it is intended for end-user interaction only. For precise address matching, use the `/meter/by-address` endpoint instead, which will perform matching for you.



## OpenAPI

````yaml GET /meter/search
openapi: 3.1.0
info:
  title: Axle API Docs
  description: >-
    For full documentation please see our official docs at <a
    href='http://docs.axle.energy'>docs.axle.energy</a>
  version: 1.4.6
servers:
  - url: https://api-sandbox.axle.energy
security: []
tags:
  - name: 1. Authentication
    description: Authenticate yourself with the Axle API
  - name: 2. Meters
    description: Find key info about your sites
  - name: 3. Sites
    description: Register your sites with Axle; configure market participation
  - name: 4. Assets
    description: Register your assets with Axle
  - name: 5. Data
    description: Send asset metrics to Axle, for analysis and optimisation purposes
  - name: 6. Rewards
    description: >-
      Determine how much your users have earned by participating with Axle;
      allow balance withdrawal
  - name: 7. Validation
    description: Validate structured data against Axle's rules
  - name: 8. Examples
    description: Get example data for testing
paths:
  /meter/search:
    get:
      tags:
        - 2. Meters
      summary: Search Meters
      description: >-
        Search for all electricity meters in the vicinity of a given postcode/
        address.


        This endpoint allows searching for meters by postcode and optionally by
        building identifier. For data protection and contractual reasons, meter
        details are returned in an encrypted format that can be used in
        subsequent API calls to retrieve the full meter information.


        The search works in three steps:

        1. Search for meters at the specified address using this endpoint

        2. Ask the end-user to select the correct address from the list

        3. Call the `/meter/by-ref/{meter_ref}` endpoint with the corresponding
        reference to get the full meter details


        NB: This should not be used with procedural address matching; it is
        intended for end-user interaction only. For precise address matching,
        use the `/meter/by-address` endpoint instead, which will perform
        matching for you.
      operationId: search_meters_meter_search_get
      parameters:
        - description: Postcode at which the requested meter is registered
          required: true
          schema:
            type: string
            title: Postcode
            description: Postcode at which the requested meter is registered
          name: postcode
          in: query
        - description: >-
            House number or house/building name, e.g. '3', '10A', 'Flat 4', 'The
            Old Barn'
          required: false
          schema:
            type: string
            title: Building Identifier
            description: >-
              House number or house/building name, e.g. '3', '10A', 'Flat 4',
              'The Old Barn'
          name: building_identifier
          in: query
      responses:
        '200':
          description: List of meters matching the address; may be empty
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/MeterSearchResponse'
                type: array
                title: Response 200 Search Meters Meter Search Get
        '422':
          description: Invalid postcode or no meters found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorWithDetail'
        '500':
          description: Something went wrong whilst processing the request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorWithDetail'
        '503':
          description: Request to meter data provider failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorWithDetail'
        '504':
          description: Request to meter data provider timed out
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorWithDetail'
      security:
        - OAuth2PasswordBearer: []
components:
  schemas:
    MeterSearchResponse:
      properties:
        ref:
          type: string
          title: Ref
          description: >-
            Encrypted reference to the meter that can be used in subsequent API
            calls
        address:
          type: string
          title: Address
          description: Full address where the meter is registered
      type: object
      required:
        - ref
        - address
      title: MeterSearchResponse
      description: |-
        Response model for meter search results.

        Contains a reference to the meter and its associated address.
    ErrorWithDetail:
      properties:
        detail:
          type: string
          title: Detail
      type: object
      required:
        - detail
      title: ErrorWithDetail
      description: Standard error response with a detailed message.
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: auth/token-form

````