1Forge Forex Data API

Real-time bid/ask quote retrieval, currency conversion, symbol discovery, market status, and quota inspection for 700+ forex and cryptocurrency pairs served from four global edges (Oregon, Virginia, Taiwan, Belgium).

OpenAPI Specification

1forge-forex-data-api.yml Raw ↑
openapi: 3.0.3
info:
  title: 1Forge Forex Data API
  description: |-
    1Forge provides real-time bid and ask quote data for 700+ forex and cryptocurrency
    currency pairs, delivered with FIX-grade speed over a simple JSON REST API. The
    REST surface covers five operations: list available symbols, fetch quotes for one
    or more pairs, convert a quantity between two currencies, check whether the market
    is currently open, and inspect remaining quota for the calling API key.

    1Forge connects directly to brokers and liquidity providers and serves traffic from
    four global edge locations (Oregon, Virginia, Taiwan, Belgium). Streaming over
    WebSocket is documented separately in `asyncapi/1forge-forex-stream-asyncapi.yml`.
  version: '2024.01'
  contact:
    name: 1Forge Support
    email: [email protected]
    url: https://1forge.com/forex-data-api
  license:
    name: 1Forge Forex API Terms of Use
    url: https://1forge.com/terms
  termsOfService: https://1forge.com/terms
  x-generated-from: documentation
  x-last-validated: '2026-05-28'
servers:
  - url: https://api.1forge.com
    description: 1Forge production REST endpoint (auto-routed to nearest edge).
tags:
  - name: Quotes
    description: Real-time bid/ask quote data for forex and cryptocurrency pairs.
  - name: Convert
    description: Convert a quantity from one currency into another at the current rate.
  - name: Symbols
    description: Discover the currency pairs available to the calling API key.
  - name: Market Status
    description: Check whether the forex market is currently open.
  - name: Quota
    description: Inspect API key consumption and remaining quota.
security:
  - ApiKeyAuth: []
paths:
  /quotes:
    get:
      operationId: getQuotes
      summary: 1Forge Get Quotes for Pairs
      description: |-
        Returns the latest bid, ask, and price data for one or more currency pairs.
        Pairs are supplied as a comma-separated list. Either `EUR/USD` or `EURUSD`
        notation is accepted. Responses are an array of `Quote` objects in the order
        the pairs were requested.
      tags:
        - Quotes
      parameters:
        - name: pairs
          in: query
          required: true
          description: Comma-separated list of currency pair symbols (e.g. `EUR/USD,GBP/JPY,AUD/USD`).
          schema:
            type: string
          example: EUR/USD,GBP/JPY,AUD/USD
        - name: api_key
          in: query
          required: true
          description: Your 1Forge API key. Obtain one at https://1forge.com.
          schema:
            type: string
          example: YOUR_API_KEY
      responses:
        '200':
          description: Array of `Quote` records, one per requested currency pair.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Quote'
              examples:
                GetQuotes200Example:
                  summary: Default getQuotes 200 response
                  x-microcks-default: true
                  value:
                    - s: EUR/USD
                      p: 1.181
                      b: 1.18099
                      a: 1.18101
                      t: 1502160794
                    - s: GBP/JPY
                      p: 144.3715
                      b: 144.368
                      a: 144.375
                      t: 1502160794
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /convert:
    get:
      operationId: convertCurrency
      summary: 1Forge Convert Currency Amount
      description: |-
        Converts a numeric quantity from one currency to another at the current rate.
        Returns the converted value, a human-readable string, and the conversion
        timestamp.
      tags:
        - Convert
      parameters:
        - name: from
          in: query
          required: true
          description: ISO 4217 source currency code (e.g. `USD`).
          schema:
            type: string
            minLength: 3
            maxLength: 3
          example: USD
        - name: to
          in: query
          required: true
          description: ISO 4217 destination currency code (e.g. `EUR`).
          schema:
            type: string
            minLength: 3
            maxLength: 3
          example: EUR
        - name: quantity
          in: query
          required: true
          description: Numeric amount of the source currency to convert.
          schema:
            type: number
            format: double
          example: 100
        - name: api_key
          in: query
          required: true
          description: Your 1Forge API key.
          schema:
            type: string
          example: YOUR_API_KEY
      responses:
        '200':
          description: Conversion result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversionResult'
              examples:
                ConvertCurrency200Example:
                  summary: Default convertCurrency 200 response
                  x-microcks-default: true
                  value:
                    value: 89.3164183
                    text: 100 USD is worth 89.3164183 EUR
                    timestamp: 1497186516
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /symbols:
    get:
      operationId: getSymbols
      summary: 1Forge List Available Symbols
      description: |-
        Returns the full list of currency pair symbols available to the calling API
        key. Symbols are expressed in `BASE/QUOTE` notation (e.g. `EUR/USD`).
      tags:
        - Symbols
      parameters:
        - name: api_key
          in: query
          required: true
          description: Your 1Forge API key.
          schema:
            type: string
          example: YOUR_API_KEY
      responses:
        '200':
          description: Array of currency pair symbols.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                  description: Currency pair in `BASE/QUOTE` notation.
                  example: EUR/USD
              examples:
                GetSymbols200Example:
                  summary: Default getSymbols 200 response
                  x-microcks-default: true
                  value:
                    - AUD/JPY
                    - AUD/USD
                    - CHF/JPY
                    - EUR/AUD
                    - EUR/CAD
                    - EUR/CHF
                    - EUR/GBP
                    - EUR/JPY
                    - EUR/USD
                    - GBP/AUD
                    - GBP/CAD
                    - GBP/CHF
                    - GBP/JPY
                    - NZD/JPY
                    - NZD/USD
                    - USD/CAD
                    - USD/CHF
                    - USD/JPY
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /market_status:
    get:
      operationId: getMarketStatus
      summary: 1Forge Check Market Open Status
      description: |-
        Returns a boolean indicating whether the forex market is currently open. The
        forex market is closed on weekends.
      tags:
        - Market Status
      parameters:
        - name: api_key
          in: query
          required: true
          description: Your 1Forge API key.
          schema:
            type: string
          example: YOUR_API_KEY
      responses:
        '200':
          description: Market open/closed status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketStatus'
              examples:
                GetMarketStatus200Example:
                  summary: Default getMarketStatus 200 response
                  x-microcks-default: true
                  value:
                    market_is_open: true
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /quota:
    get:
      operationId: getQuota
      summary: 1Forge Get API Key Quota
      description: |-
        Returns the calling API key's current usage and remaining quota for the
        billing window, along with the number of hours until quota resets.
      tags:
        - Quota
      parameters:
        - name: api_key
          in: query
          required: true
          description: Your 1Forge API key.
          schema:
            type: string
          example: YOUR_API_KEY
      responses:
        '200':
          description: Quota usage information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Quota'
              examples:
                GetQuota200Example:
                  summary: Default getQuota 200 response
                  x-microcks-default: true
                  value:
                    quota_used: 259
                    quota_limit: 5000
                    quota_remaining: 4741
                    hours_until_reset: 23
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: query
      name: api_key
      description: |-
        1Forge requires an API key passed as the `api_key` query parameter on every
        request. Obtain a key at https://1forge.com.
  schemas:
    Quote:
      title: Quote
      description: A single bid/ask/price snapshot for a forex or cryptocurrency pair.
      type: object
      required:
        - s
        - p
        - b
        - a
        - t
      properties:
        s:
          type: string
          description: Currency pair symbol in `BASE/QUOTE` notation.
          example: EUR/USD
        p:
          type: number
          format: double
          description: Last traded price (midpoint of bid/ask).
          example: 1.181
        b:
          type: number
          format: double
          description: Current bid price.
          example: 1.18099
        a:
          type: number
          format: double
          description: Current ask price.
          example: 1.18101
        t:
          type: integer
          format: int64
          description: Unix epoch timestamp (seconds) of the quote.
          example: 1502160794
    ConversionResult:
      title: ConversionResult
      description: Result of a currency conversion at the current market rate.
      type: object
      required:
        - value
        - text
        - timestamp
      properties:
        value:
          type: number
          format: double
          description: Converted amount in the destination currency.
          example: 89.3164183
        text:
          type: string
          description: Human-readable conversion string.
          example: 100 USD is worth 89.3164183 EUR
        timestamp:
          type: integer
          format: int64
          description: Unix epoch timestamp (seconds) of the conversion rate.
          example: 1497186516
    MarketStatus:
      title: MarketStatus
      description: Open/closed status of the forex market.
      type: object
      required:
        - market_is_open
      properties:
        market_is_open:
          type: boolean
          description: True when the forex market is currently open, false otherwise.
          example: true
    Quota:
      title: Quota
      description: Current API key consumption against the plan quota.
      type: object
      required:
        - quota_used
        - quota_limit
        - quota_remaining
        - hours_until_reset
      properties:
        quota_used:
          type: integer
          format: int64
          description: Number of requests consumed in the current billing window.
          example: 259
        quota_limit:
          type: integer
          format: int64
          description: Total request quota for the current billing window.
          example: 5000
        quota_remaining:
          type: integer
          format: int64
          description: Requests remaining in the current billing window.
          example: 4741
        hours_until_reset:
          type: integer
          description: Hours until the quota resets.
          example: 23
    Error:
      title: Error
      description: Generic error returned when authentication fails or the request is invalid.
      type: object
      required:
        - error
        - message
      properties:
        error:
          type: boolean
          description: Always true for error responses.
          example: true
        message:
          type: string
          description: Human-readable error description.
          example: API Key Not Valid. Please go to 1forge.com to get an API key.