Equinix Metros API

Metro Management. Check out the product docs to learn more about [Metros](https://metal.equinix.com/developers/docs/locations/metros/).

Operations 4

GET /fabric/v4/metros Get all Metros #
GET /fabric/v4/metros/{metroCode} Get Metro by Code #
GET /locations/metros Retrieve all metros #
GET /locations/metros/{id} Retrieve a specific Metro's details #

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/equinix-metros-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

equinix-metros-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Equinix Metros API
  version: '1.0'
  description: 'Operations tagged Metros across 2 of this provider''s published API definitions: fabric-openapi-original.yml, metal-openapi-original.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.equinix.com
  description: Equinix Inc
- url: https://api.equinix.com/metal/v1
tags:
- name: Metros
  description: Metros
paths:
  /fabric/v4/metros:
    get:
      tags:
      - Metros
      summary: Get all Metros
      description: GET All Subscriber Metros with an option query parameter to return all Equinix Fabric metros in which the customer has a presence, as well as latency data for each location.
      operationId: getMetros
      parameters:
      - name: presence
        in: query
        description: User On Boarded Metros based on Fabric resource availability
        required: false
        schema:
          $ref: '#/components/schemas/Presence'
      - name: offset
        in: query
        description: offset
        required: false
        schema:
          type: integer
        example: 1
      - name: limit
        in: query
        description: number of records to fetch
        required: false
        schema:
          type: integer
        example: 10
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetroResponse'
              examples:
                metroExample:
                  $ref: '#/components/examples/metro'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetroErrorList'
              examples:
                example:
                  $ref: '#/components/examples/400_metros'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetroErrorList'
              examples:
                example:
                  $ref: '#/components/examples/401_metros'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetroErrorList'
              examples:
                example:
                  $ref: '#/components/examples/500_metros'
      security:
      - BearerAuth: []
    servers:
    - url: https://api.equinix.com
      description: Equinix Inc
  /fabric/v4/metros/{metroCode}:
    get:
      tags:
      - Metros
      summary: Get Metro by Code
      description: GET Metros retrieves all Equinix Fabric metros, as well as latency data between each metro location.
      operationId: getMetroByCode
      parameters:
      - name: metroCode
        in: path
        description: Metro Code
        required: true
        schema:
          $ref: '#/components/schemas/MetroCode'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metro'
              examples:
                metroExample:
                  $ref: '#/components/examples/metroByCode'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetroErrorList'
              examples:
                example:
                  $ref: '#/components/examples/400_metroCode'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetroErrorList'
              examples:
                example:
                  $ref: '#/components/examples/401_metros'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetroErrorList'
              examples:
                example:
                  $ref: '#/components/examples/500_metros'
      security:
      - BearerAuth: []
    servers:
    - url: https://api.equinix.com
      description: Equinix Inc
  /locations/metros:
    get:
      description: Provides a listing of available metros
      operationId: findMetros
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetroList'
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
      summary: Retrieve all metros
      tags:
      - Metros
      security:
      - x_auth_token: []
    servers:
    - url: https://api.equinix.com/metal/v1
  /locations/metros/{id}:
    get:
      description: Show the details for a metro, including name, code, and country.
      operationId: getMetro
      parameters:
      - description: Metro UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metro_2'
          description: ok
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not found
      summary: Retrieve a specific Metro's details
      tags:
      - Metros
      security:
      - x_auth_token: []
    servers:
    - url: https://api.equinix.com/metal/v1
components:
  schemas:
    GeoCoordinates:
      type: object
      properties:
        latitude:
          type: number
          description: Latitude of a Fabric Metro
          format: double
        longitude:
          type: number
          description: Longitude of a Fabric Metro
          format: double
      description: Geographic location data of Fabric Metro
    MetroCode:
      type: string
      description: Metro Code
    Presence:
      type: string
      description: Presence
      enum:
      - MY_PORTS
    GeoScopeType:
      type: string
      description: Geographic boundary types
      enum:
      - CANADA
      - CONUS
      - JAPAN
      - UK
      - AUSTRALIA
      - BRAZIL
      - SWITZERLAND
    MetroResponse:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          description: List of Fabric Metros.
          items:
            $ref: '#/components/schemas/Metro'
      description: GET Metros retrieves all Equinix? Fabric? metros, as well as latency data for each location.This performance data helps network planning engineers and administrators make strategic decisions about port locations and traffic routes.
    PriceError_additionalInfo:
      type: object
      properties:
        property:
          type: string
        reason:
          type: string
    services:
      type: object
      properties:
        type:
          type: string
          description: Type of Service
      description: Arrays of objects containing type of services supported in the specified metros
    Metro:
      type: object
      properties:
        href:
          type: string
          description: The Canonical URL at which the resource resides.
        type:
          type: string
          description: Indicator of a Fabric Metro
        code:
          type: string
          description: Code Assigned to an Equinix IBX data center in a specified metropolitan area.
        region:
          type: string
          description: Board geographic area in which the data center is located
        name:
          type: string
          description: Name of the region in which the data center is located.
        country:
          type: string
          description: Country code in which the data center is located.
        equinixAsn:
          type: integer
          description: Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol.
          format: int64
        localVCBandwidthMax:
          type: integer
          description: This field holds Max Connection speed with in the metro
          format: int64
        geoCoordinates:
          $ref: '#/components/schemas/GeoCoordinates'
        connectedMetros:
          type: array
          items:
            $ref: '#/components/schemas/ConnectedMetro'
        services:
          type: array
          items:
            $ref: '#/components/schemas/services'
        geoScopes:
          type: array
          description: List of supported geographic boundaries of a Fabric Metro.
          items:
            $ref: '#/components/schemas/GeoScopeType'
      description: GET Metros retrieves all Equinix? Fabric? metros, as well as latency data for each location.This performance data helps network planning engineers and administrators make strategic decisions about port locations and traffic routes.
    ConnectedMetro:
      type: object
      properties:
        href:
          type: string
          description: The Canonical URL at which the resource resides.
        code:
          type: string
          description: Code assigned to an Equinix International Business Exchange (IBX) data center in a specified metropolitan area.
        avgLatency:
          type: number
          description: Average latency (in milliseconds[ms]) between two specified metros.
        remoteVCBandwidthMax:
          type: integer
          description: This field holds the Max Connection speed with connected metros
          format: int64
      description: Arrays of objects containing latency data for the specified metros
    MetroError:
      required:
      - errorCode
      - errorMessage
      type: object
      properties:
        errorCode:
          type: string
          enum:
          - EQ-3036001
          - EQ-3036013
          - EQ-3036030
          - EQ-3036100
        errorMessage:
          type: string
          enum:
          - Unauthorized
          - Invalid Query Parameter
          - Invalid Path Parameter
          - Invalid Query or Path Parameter
          - Internal Server Error
          - Metro Not Found
        correlationId:
          type: string
        details:
          type: string
        help:
          type: string
        additionalInfo:
          type: array
          items:
            $ref: '#/components/schemas/PriceError_additionalInfo'
      description: Error with details
      discriminator:
        propertyName: errorCode
    Pagination:
      required:
      - limit
      - total
      type: object
      properties:
        offset:
          minimum: 0
          type: integer
          description: Index of the first item returned in the response. The default is 0.
          default: 0
        limit:
          minimum: 0
          type: integer
          description: Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20.
          default: 20
        total:
          minimum: 0
          type: integer
          description: Total number of elements returned.
        next:
          type: string
          description: URL relative to the next item in the response.
        previous:
          type: string
          description: URL relative to the previous item in the response.
      description: Pagination response information
    MetroErrorList:
      type: array
      items:
        $ref: '#/components/schemas/MetroError'
    Error:
      description: Error responses are included with 4xx and 5xx HTTP responses from the API service. Either "error" or "errors" will be set.
      properties:
        error:
          description: A description of the error that caused the request to fail.
          type: string
        errors:
          description: A list of errors that contributed to the request failing.
          items:
            description: An error message that contributed to the request failing.
            type: string
          type: array
      type: object
    MetroList:
      example:
        metros:
        - country: country
          code: code
          name: name
          id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        - country: country
          code: code
          name: name
          id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
      properties:
        metros:
          items:
            $ref: '#/components/schemas/Metro_2'
          type: array
      type: object
    Metro_2:
      example:
        country: country
        code: code
        name: name
        id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
      properties:
        code:
          type: string
        country:
          type: string
        id:
          format: uuid
          type: string
        name:
          type: string
      type: object
  examples:
    401_metros:
      value:
      - errorCode: EQ-3036001
        errorMessage: Unauthorized
        correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515
        additionalInfo:
        - reason: You are unauthorized to perform this operation
    400_metros:
      value:
      - errorCode: EQ-3036013
        errorMessage: Invalid Query Parameter
        correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515
        additionalInfo:
        - property: presence
          reason: Allowed value for presence is MY_PORTS
    metro:
      value:
        pagination:
          offset: 0
          limit: 75
          total: 1
        data:
        - href: https://api.equinix.com/v4/fabric/metros/AM
          type: XF_METRO
          code: AM
          name: Amsterdam
          region: EMEA
          equinixAsn: 60000
          localVCBandwidthMax: 10000
          geoCoordinates:
            latitude: 52.30049
            longitude: 4.942603
          connectedMetros:
          - href: https://api.equinix.com/v4/fabric/metros/MX
            code: MX
            avgLatency: 132
            remoteVCBandwidthMax: 10000
          - href: https://api.equinix.com/v4/fabric/metros/AM
            code: HH
            avgLatency: 8.62
            remoteVCBandwidthMax: 10000
          - href: https://api.equinix.com/v4/fabric/metros/SL
            code: SL
            avgLatency: 229
            remoteVCBandwidthMax: 10000
          - href: https://api.equinix.com/v4/fabric/metros/SO
            code: SO
            avgLatency: 36.3
            remoteVCBandwidthMax: 50000
          - href: https://api.equinix.com/v4/fabric/metros/IL
            code: IL
            avgLatency: 44.8
            remoteVCBandwidthMax: 50000
          - href: https://api.equinix.com/v4/fabric/metros/LS
            code: LS
            avgLatency: 36.6
            remoteVCBandwidthMax: 50000
          - href: https://api.equinix.com/v4/fabric/metros/BA
            code: BA
            avgLatency: 32.6
            remoteVCBandwidthMax: 50000
          - href: https://api.equinix.com/v4/fabric/metros/BL
            code: BL
            avgLatency: 3.28
            remoteVCBandwidthMax: 50000
          - href: https://api.equinix.com/v4/fabric/metros/GV
            code: GV
            avgLatency: 15.3
            remoteVCBandwidthMax: 50000
          - href: https://api.equinix.com/v4/fabric/metros/LD
            code: LD
            avgLatency: 5.85
            remoteVCBandwidthMax: 50000
          services:
          - type: ETHERNET_IP_SERVICE
          - type: TIME_SERVICE
          geoScopes:
          - CANADA
          - CONUS
          - JAPAN
          - UK
          - AUSTRALIA
          - BRAZIL
          - SWITZERLAND
    metroByCode:
      value:
        href: https://api.equinix.com/v4/fabric/metros/AM
        type: XF_METRO
        code: AM
        region: EMEA
        name: Amsterdam
        equinixAsn: 60000
        localVCBandwidthMax: 50000
        geoCoordinates:
          latitude: 52.30049
          longitude: 4.942603
        connectedMetros:
        - href: https://api.equinix.com/v4/fabric/metros/MX
          code: MX
          avgLatency: 132
          remoteVCBandwidthMax: 50000
        - href: https://api.equinix.com/v4/fabric/metros/HH
          code: HH
          avgLatency: 8.62
          remoteVCBandwidthMax: 50000
        - href: https://api.equinix.com/v4/fabric/metros/SL
          code: SL
          avgLatency: 229
          remoteVCBandwidthMax: 50000
        - href: https://api.equinix.com/v4/fabric/metros/SO
          code: SO
          avgLatency: 36.3
          remoteVCBandwidthMax: 10000
        - href: https://api.equinix.com/v4/fabric/metros/IL
          code: IL
          avgLatency: 44.8
          remoteVCBandwidthMax: 10000
        - href: https://api.equinix.com/v4/fabric/metros/LS
          code: LS
          avgLatency: 36.6
          remoteVCBandwidthMax: 10000
        - href: https://api.equinix.com/v4/fabric/metros/AM
          code: BA
          avgLatency: 32.6
          remoteVCBandwidthMax: 10000
        - href: https://api.equinix.com/v4/fabric/metros/BL
          code: BL
          avgLatency: 3.28
          remoteVCBandwidthMax: 10000
        - href: https://api.equinix.com/v4/fabric/metros/GV
          code: GV
          avgLatency: 15.3
          remoteVCBandwidthMax: 10000
        - href: https://api.equinix.com/v4/fabric/metros/LD
          code: LD
          avgLatency: 5.85
          remoteVCBandwidthMax: 10000
        services:
        - type: ETHERNET_IP_SERVICE
        - type: TIME_SERVICE
        geoScopes:
        - CANADA
        - CONUS
        - JAPAN
        - UK
        - AUSTRALIA
        - BRAZIL
        - SWITZERLAND
    500_metros:
      value:
      - errorCode: EQ-3036030
        errorMessage: Internal Server Error
        correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515
        additionalInfo:
        - reason: An Internal Server Error occured
    400_metroCode:
      value:
      - errorCode: EQ-3036013
        errorMessage: Invalid Path Parameter
        correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515
        additionalInfo:
        - property: pathparameter-metroCode
          reason: Provide valid metro code
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    x_auth_token:
      description: 'HTTP header containing the User or Project API key that will be used to authenticate the request.

        '
      in: header
      name: X-Auth-Token
      type: apiKey
      x-displayName: X-Auth-Token
externalDocs:
  description: Find more information on Equinix Docs Portal
  url: https://docs.equinix.com/fabric/
x-refined-from:
- fabric-openapi-original.yml
- metal-openapi-original.yml
x-eqx-api-linter-skip-rules:
- 3
- 38