Benchmark Minerals API

The Benchmark Minerals API provides programmatic access to price data, supply chain data, and market intelligence for the lithium-ion battery and critical minerals supply chain. API keys are available to enterprise subscribers, enabling integration of benchmark prices, forecasts, and supply chain databases into business intelligence and procurement systems.

Operations 36

POST /prices/spotlight List spotlight prices #
POST /prices/lithium List prices #
POST /prices/lithium/summary Summary #
POST /prices/lithium/index Index #
POST /prices/cobalt List prices #
POST /prices/cobalt/summary Summary #
POST /prices/cobalt/index Index #
POST /prices/nickel #
POST /prices/nickel/summary Summary #
POST /prices/nickel/index Index #
POST /prices/manganese List prices #
POST /prices/manganese/summary Summary #
POST /prices/natural-graphite List prices #
POST /prices/natural-graphite/summary Summary #
POST /prices/natural-graphite/index Index #
POST /prices/synthetic-graphite List prices #
POST /prices/synthetic-graphite/summary Summary #
POST /prices/synthetic-graphite/index Index #
POST /prices/electrolyte List prices #
POST /prices/electrolyte/summary Summary #
POST /prices/anodes List prices #
POST /prices/anodes/summary Summary #
POST /prices/anodes/index Index #
POST /prices/cathodes List prices #
POST /prices/cathodes/summary Summary #
POST /prices/cathodes/index Index #
POST /prices/lithium-ion-battery List prices #
POST /prices/lithium-ion-battery/summary Summary #
POST /prices/lithium-ion-battery/index Index #
POST /prices/black-mass #
POST /prices/black-mass/summary Summary #
POST /prices/black-mass/index Index #
POST /prices/rare-earths #
POST /prices/rare-earths/summary Summary #
POST /prices/rare-earths/index Index #
POST /prices/lithium-ion-battery-raw-material/index Index #

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/benchmark-minerals-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

benchmark-minerals-prices-api.yml Raw ↑
---
openapi: 3.0.3
info:
  title: Benchmark Mineral Intelligence API
  version: "2.0"
  description: |-
    The Benchmark API provides access to a comprehensive range of pricing data for various markets to empower your most critical energy transition decisions. This API is designed with the principles of REST architecture, ensuring scalability, flexibility, and ease of use for integrating with your systems. It follows RESTful best practices, leveraging HTTP methods and status codes for predictable interactions, allowing for seamless integration with web applications or services.
    
    Access to our API is secured using an API key. Users must include their unique API key in the request header x-api-key to authenticate their requests. This ensures secure and controlled access to the API’s data.
    
    Rate limiting is applied to manage the number of requests a client can make within a defined period. The specific rate limits can be configured based on your business requirements to ensure fair usage and avoid abuse.
    
    The API offers structured responses in JSON format, providing essential details for retrieving and submitting price data. It is built to handle a variety of pricing data queries and submissions efficiently.
    
    **API endpoint structure**
    
    All endpoints of the Benchmark Minerals Prices API follow a clear and logical structure, with versioning included in the URL to ensure backward compatibility:
    
    - Base URL: <span class="url-doc">`https://api.benchmarkminerals.com/v2`</span>
    - Endpoints:
      - <span class="url-doc">`/prices/cathode`</span> – Retrieves cathode pricing data with the GET method.
    
    Endpoints are categorised by the type of market pricing data, allowing clients to interact with different markets and products. Each request can be authenticated with the x-api-key  header, and structured responses will be provided in JSON format.
    
    **Terms of use**
    
    By accessing and using the Benchmark API, you agree to comply with the terms and conditions outlined in the supply agreement between the entity you represent and Benchmark Mineral Intelligence. key points include:
    - data usage: the data provided through this API is intended for internal use only;
    - rate limiting: exceeding the defined rate limits may result in temporary suspension of access;
    - data privacy: any personal data transmitted or received through the API is subject to our privacy policy and supply agreement, which outlines the handling of sensitive information; and  
    - intellectual property: All content, including data and API documentation, is the intellectual property of Benchmark Mineral Intelligence Limited and may not be redistributed or modified without explicit permission from Benchmark Mineral Intelligence Limited.
    
    **Support**
    
    If you encounter any issues or need assistance with using the Benchmark API, our team is here to help with any technical inquiries, troubleshooting, or general questions about the API.
    
    If you require access or technical support, please [contact our team](https://www.benchmarkminerals.com/contact/)
    
    For more details on specific endpoints, request/response structures, and authentication, please refer to the sections below.
servers:
  - url: http://localhost:3013/v2
  - url: "https://{environment}.benchmarkminerals.com/{version}"
    variables:
      environment:
        enum:
          - api
          - dev-api
          - qa-api
        default: api
      version:
        enum:
          - v2
        default: v2
paths:
  # Spotlight Prices
  /prices/spotlight:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpotlightPricesDTO'
        required: true
      tags:
        - Spotlight
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpotlightPricesApiResponse'
          description: Successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationRequestError'
          description: Bad request
        "401":
          description: Unauthorized
        "403":
          description: Client does not have permission to access this resource
      security:
        - api_key:
            - spotlight:read
      operationId: spotlight-list-prices
      summary: List spotlight prices
      description: |
        List the spotlight prices
  #  Lithium
  /prices/lithium:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LithiumPricesDTO'
        required: true
      tags:
        - Lithium
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LithiumPricesApiResponse'
          description: Successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationRequestError'
          description: Bad request
        "401":
          description: Unauthorized
        "403":
          description: Client does not have permission to access this resource
      security:
        - api_key:
            - lithium:read
            - prices:lithium
      operationId: lithium-list-prices
      summary: List prices
      description: |
        List the prices with the possibility to filter the result by:
        - Range of dates
        - Shipping route
        - Category
        - Purity
        - Price Type
  /prices/lithium/summary:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LithiumSummaryDTO'
        required: false
      tags:
        - Lithium
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LithiumPricesSummaryApiResponse'
          description: Successful operation
        "401":
          description: unauthorized
        "403":
          description: Client does not have permission to access this resource
      security:
        - api_key:
            - lithium:read
            - prices:lithium
      operationId: lithium-summary
      summary: Summary
      description: |
        List the summary with the possibility to filter the result by:
        - Shipping region
        - Category
        - Purity
        - Price Type
  /prices/lithium/index:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LithiumIndexDTO'
        required: false
      tags:
        - Lithium
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndexApiResponse'
          description: Successful operation
        "401":
          description: unauthorized
        "403":
          description: Client does not have permission to access this resource
      security:
        - api_key:
            - lithium:read
            - prices:lithium
      operationId: lithium-index
      summary: Index
  # Cobalt
  /prices/cobalt:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CobaltPricesDTO'
        required: true
      tags:
        - Cobalt
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobaltPricesApiResponse'
          description: Successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationRequestError'
          description: Bad request
        "401":
          description: unauthorized
        "403":
          description: Client does not have permission to access this resource
      security:
        - api_key:
            - cobalt:read
            - prices:cobalt
      operationId: cobalt-list-prices
      summary: List prices
      description: |
        List the prices with the possibility to filter the result by:
        - Range of dates
        - Shipping route
        - Category
        - Purity
        - Price Type
  /prices/cobalt/summary:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CobaltSummaryDTO'
        required: false
      tags:
        - Cobalt
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobaltPricesSummaryApiResponse'
          description: Successful operation
        "401":
          description: unauthorized
        "403":
          description: Client does not have permission to access this resource
      security:
        - api_key:
            - cobalt:read
            - prices:cobalt
      operationId: cobalt-summary
      summary: Summary
      description: |
        List the summary with the possibility to filter the result by:
        - Shipping region
        - Category
        - Purity
        - Price Type
  /prices/cobalt/index:
    post:
      tags:
        - Cobalt
      operationId: cobalt-index
      summary: Index
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CobaltRequestIndexDTO'
        required: false
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndexApiResponseV2'
          description: Successful operation
        "401":
          description: unauthorized
        "403":
          description: Client does not have permission to access this resource
      security:
        - api_key:
            - cobalt:read
            - prices:cobalt
  # Nickel
  /prices/nickel:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NickelFindAllPricesRequest'
        required: true
      tags:
        - Nickel
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NickelPricesApiResponse'
          description: Successful operation
      operationId: nickel-list-prices
      description: List prices
      security:
        - api_key:
            - nickel:read
            - prices:nickel
  /prices/nickel/summary:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NickelFindSummaryPricesRequest'
      tags:
        - Nickel
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NickelPricesSummaryApiResponse'
          description: Successful operation
        "401":
          description: unauthorized
      security:
        - api_key:
            - nickel:read
            - prices:nickel
      operationId: nickel-summary
      summary: Summary
  /prices/nickel/index:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NickelIndexDTO'
        required: false
      tags:
        - Nickel
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NickelIndexApiResponse'
          description: Successful operation
        "401":
          description: unauthorized
      security:
        - api_key:
            - nickel:read
            - prices:nickel
      operationId: nickel-index
      summary: Index
  # Manganese
  /prices/manganese:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManganesePricesDTO'
        required: true
      tags:
        - Manganese
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManganesePricesApiResponse'
          description: Successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationRequestError'
          description: Bad request
        "401":
          description: unauthorized
      security:
        - api_key:
            - manganese:read
            - prices:manganese
      operationId: manganese-list-prices
      summary: List prices
      description: |
        List the prices with the possibility to filter the result by:
        - Range of dates
        - Shipping route
        - Category
        - Purity
  /prices/manganese/summary:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManganeseSummaryDTO'
        required: false
      tags:
        - Manganese
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManganesePricesSummaryApiResponse'
          description: Successful operation
        "401":
          description: unauthorized
      security:
        - api_key:
            - manganese:read
            - prices:manganese
      operationId: manganese-summary
      summary: Summary
      description: |
        List the summary with the possibility to filter the result by:
        - Shipping region
        - Category
        - Purity
  # Natural Graphite
  /prices/natural-graphite:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NaturalGraphitePricesDTO'
        required: true
      tags:
        - Natural Graphite
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NaturalGraphitePricesApiResponse'
          description: Successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationRequestError'
          description: Bad request
        "401":
          description: unauthorized
      security:
        - api_key:
            - natural-graphite:read
            - prices:natural-graphite
      operationId: natural-graphite-list-prices
      summary: List prices
      description: |
        List the prices with the possibility to filter the result by:
        - Range of dates
        - Category
        - Mesh size
        - Purity
        - Shipping route
  /prices/natural-graphite/summary:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NaturalGraphiteSummaryDTO'
        required: false
      tags:
        - Natural Graphite
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NaturalGraphitePricesSummaryApiResponse'
          description: Successful operation
        "401":
          description: unauthorized
      security:
        - api_key:
            - natural-graphite:read
            - prices:natural-graphite
      operationId: natural-graphite-summary
      summary: Summary
      description: |
        List the summary with the possibility to filter the result by:
        - Category
        - Mesh size
        - Purity
        - Shipping route
  /prices/natural-graphite/index:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NaturalGraphiteIndexDTO'
        required: false
      tags:
        - Natural Graphite
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndexApiResponse'
          description: Successful operation
        "401":
          description: unauthorized
      security:
        - api_key:
            - natural-graphite:read
            - prices:natural-graphite
      operationId: natural-graphite-index
      summary: Index
  # Synthetic Graphite
  /prices/synthetic-graphite:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SyntheticGraphitePricesDTO'
        required: true
      tags:
        - Synthetic-Graphite
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyntheticGraphitePricesApiResponse'
          description: Successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationRequestError'
          description: Bad request
        "401":
          description: unauthorized
      security:
        - api_key:
            - synthetic-graphite:read
            - prices:synthetic-graphite
      operationId: synthetic-graphite-list-prices
      summary: List prices
      description: |
        List the prices with the possibility to filter the result by:
        - Range of dates
        - Shipping route
        - Category
        - Purity
  /prices/synthetic-graphite/summary:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SyntheticGraphiteSummaryDTO'
        required: false
      tags:
        - Synthetic-Graphite
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyntheticPricesSummaryApiResponse'
          description: Successful operation
        "401":
          description: unauthorized
      security:
        - api_key:
            - synthetic-graphite:read
            - prices:synthetic-graphite
      operationId: synthetic-graphite-summary
      summary: Summary
      description: |
        List the summary with the possibility to filter the result by:
        - Range of dates
        - Shipping route
        - Category
        - Purity
  /prices/synthetic-graphite/index:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SyntheticGraphiteIndexDTO'
        required: false
      tags:
        - Synthetic-Graphite
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyntheticGraphiteIndexApiResponse'
          description: Successful operation
        "401":
          description: unauthorized
      security:
        - api_key:
            - synthetic-graphite:read
            - prices:synthetic-graphite
      operationId: synthetic-graphite-index
      summary: Index
  # Electrolyte
  /prices/electrolyte:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ElectrolytePricesDTO'
        required: true
      tags:
        - Electrolyte
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ElectrolytePricesApiResponse'
          description: Successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationRequestError'
          description: Bad request
        "401":
          description: unauthorized
      security:
        - api_key:
            - electrolyte:read
            - prices:electrolyte
      operationId: electrolyte-list-prices
      summary: List prices
      description: |
        List the prices with the possibility to filter the result by:
        - Range of dates
        - Shipping route
        - Category
        - Purity
  /prices/electrolyte/summary:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ElectrolyteSummaryDTO'
        required: false
      tags:
        - Electrolyte
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ElectrolytePricesSummaryApiResponse'
          description: Successful operation
        "401":
          description: unauthorized
      security:
        - api_key:
            - electrolyte:read
            - prices:electrolyte
      operationId: electrolyte-summary
      summary: Summary
      description: |
        List the summary with the possibility to filter the result by:
        - Shipping region
        - Category
        - Purity
  # Anodes
  /prices/anodes:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AnodePricesDTO'
        required: true
      tags:
        - Anodes
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnodePricesApiResponse'
          description: Successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationRequestError'
          description: Bad request
        "401":
          description: unauthorized
      security:
        - api_key:
            - anodes:read
            - prices:anodes
      operationId: anode-list-prices
      summary: List prices
      description: |
        List the prices with the possibility to filter the result by:
        - Range of dates
        - Shipping route
        - Category
        - Purity
  /prices/anodes/summary:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AnodeSummaryDTO'
        required: false
      tags:
        - Anodes
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnodePricesSummaryApiResponse'
          description: Successful operation
        "401":
          description: unauthorized
      security:
        - api_key:
            - anodes:read
            - prices:anodes
      operationId: anode-summary
      summary: Summary
      description: |
        List the summary with the possibility to filter the result by:
        - Range of dates
        - Shipping route
        - Category
        - Purity
  /prices/anodes/index:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AnodeIndexDTO'
        required: false
      tags:
        - Anodes
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndexApiResponseV2'
          description: Successful operation
        "401":
          description: unauthorized
      security:
        - api_key:
            - anodes:read
            - prices:anodes
      operationId: anode-index
      summary: Index
  # Cathodes
  /prices/cathodes:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CathodesFindAllPricesDTO'
        required: true
      tags:
        - Cathodes
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CathodesPricesApiResponse'
          description: Successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationRequestError'
          description: Bad request
        "401":
          description: unauthorized
      security:
        - api_key:
            - cathodes:read
            - prices:cathodes
      operationId: cathodes-list-prices
      summary: List prices
      description: |
        List the prices with the possibility to filter the result by:
        - Range of dates
        - Category
        - Shipping region
  /prices/cathodes/summary:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CathodesFindSummaryPricesDTO'
      tags:
        - Cathodes
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CathodesPricesSummaryApiResponse'
          description: Successful operation
        "401":
          description: unauthorized
      security:
        - api_key:
            - cathodes:read
            - prices:cathodes
      operationId: cathodes-summary
      summary: Summary
  /prices/cathodes/index:
    post:
      tags:
        - Cathodes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CathodeIndexDTO'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndexApiResponse'
          description: Successful operation
        "401":
          description: unauthorized
      security:
        - api_key:
            - cathodes:read
      operationId: cathodes-index
      summary: Index
  # Lithium-Ion-Battery
  /prices/lithium-ion-battery:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LithiumIonBatteryFindAllPricesDTO'
        required: true
      tags:
        - Lithium ion Battery
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LithiumIonBatteryPricesApiResponse'
          description: Successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationRequestError'
          description: Bad request
        "401":
          description: unauthorized
      security:
        - api_key:
            - lithium-ion-battery:read
            - prices:lithium-ion-batteries
      operationId: lithium-ion-battery-list-prices
      summary: List prices
      description: |
        List the prices with the possibility to filter the result by:
        - Range of dates
        - Category
        - Mesh size
        - Format
        - Shipping region
        - Price Type
  /prices/lithium-ion-battery/summary:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LithiumIonBatterySummaryDTO'
        required: true
      tags:
        - Lithium ion Battery
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LithiumIonBatteryPricesSummaryApiResponse'
          description: Successful operation
        "401":
          description: unauthorized
      security:
        - api_key:
            - lithium-ion-battery:read
            - prices:lithium-ion-batteries
      operationId: lithium-ion-battery-summary
      summary: Summary
  /prices/lithium-ion-battery/index:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LithiumIonBatteryIndexDTO'
        required: false
      tags:
        - Lithium ion Battery
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LithiumIonBatteryIndexApiResponse'
          description: Successful operation
        "401":
          description: unauthorized
      security:
        - api_key:
            - lithium-ion-battery:read
            - prices:lithium-ion-batteries
      operationId: lithium-ion-battery-index
      summary: Index
  # Black Mass
  /prices/black-mass:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BlackMassFindAllPricesRequest'
        required: true
      tags:
        - Black Mass
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlackMassPricesApiResponse'
          description: Successful operation
      operationId: black-mass-list-prices
      description: List prices
      security:
        - api_key:
            - black-mass:read
            - prices:black-mass
  /prices/black-mass/summary:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BlackMassFindSummaryPricesRequest'
      tags:
        - Black Mass
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlackMassPricesSummaryApiResponse'
          description: Successful operation
        "401":
          description: unauthorized
      security:
        - api_key:
            - black-mass:read
            - prices:black-mass
      operationId: black-mass-summary
      summary: Summary
  /prices/black-mass/index:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BlackMassIndexDTO'
        required: false
      tags:
        - Black Mass
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndexApiResponseV2'
          description: Successful operation
        "401":
          description: unauthorized
      security:
        - api_key:
            - black-mass:read
            - prices:black-mass
      operationId: black-mass-index
      summary: Index
  # Rare Earths
  /prices/rare-earths:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RareEarthsFindAllPricesRequest'
        required: true
      tags:
        - Rare Earths
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RareEarthsPricesApiResponse'
          description: Successful operation
      operationId: rare-earths-list-prices
      description: List prices
      security:
        - api_key:
            - rare-earths:read
            - prices:rare-earths
  /prices/rare-earths/summary:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RareEarthsFindSummaryPricesRequest'
      tags:
        - Rare Earths
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RareEarthsPricesSummaryApiResponse'
          description: Successful operation
        "401":
          description: unauthorized
      security:
        - api_key:
            - rare-earths:read
            - prices:rare-earths
      operationId: rare-earths-summary
      summary: Summary
  /prices/rare-earths/index:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RareEarthsIndexDTO'
        required: false
      tags:
        - Rare Earths
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndexApiResponseV2'
          description: Successful operation
        "401":
          description: unauthorized
      security:
        - api_key:
            - rare-earths:read
            - prices:rare-earths
      operationId: rare-earths-index
      summary: Index
  # Lithium-Ion-Battery Raw Material
  /prices/lithium-ion-battery-raw-material/index:
    post:

# --- truncated at 32 KB (117 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/benchmark-minerals/refs/heads/main/openapi/benchmark-minerals-prices-api.yml