ivive.app Library API

The library API from ivive.app — 2 operation(s) for library.

GitHub OpenAPI

Operations 2

POST /api/library/prepare Standardise an uploaded compound library #
POST /api/library/analogues Nearest compounds in your own library #

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/ivive-app:ivive-app-library-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

ivive-app-library-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ivive.app Library API
  description: 'Calculations for early drug discovery: IVIVE hepatic clearance with its observed-CL band,

    structure-based predictions, species scaling.


    **No key needed** for single-compound endpoints, up to 120/minute per address.

    Batches need a login; a free account takes up to 25 compounds. For a key or more volume, write to

    hello@ivive.app.


    Results are research estimates, not for clinical, regulatory or dosing decisions. Structures and

    inputs are processed in memory and not stored. The same calculations are available to LLMs as an

    MCP server at `/mcp/`.


    Reference drugs and published animal PK come from public datasets, ChEMBL among them, under

    CC BY-SA 3.0 and other open licences: https://ivive.app/sources.'
  version: 1.0.0
servers:
- url: https://api.ivive.app
  description: Production
- url: /
  description: This server
tags:
- name: Library
paths:
  /api/library/prepare:
    post:
      tags:
      - Library
      summary: Standardise an uploaded compound library
      description: 'Checks and standardises each structure (salts stripped, charges neutralised) and reports rows that cannot be read. Processed in memory and not stored: keep the returned rows.'
      operationId: prepare_library_api_library_prepare_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PrepareRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrepareResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - OAuth2PasswordBearer: []
  /api/library/analogues:
    post:
      tags:
      - Library
      summary: Nearest compounds in your own library
      description: The prepared library compounds most similar to a structure (Tanimoto, Morgan r2, at least 0.7), with the values measured on them. The library is sent with the request and not stored.
      operationId: library_analogues_api_library_analogues_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AnaloguesRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnaloguesResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - OAuth2PasswordBearer: []
components:
  schemas:
    AnaloguesRequest:
      properties:
        smiles:
          type: string
          maxLength: 2000
          title: Smiles
          description: Structure as SMILES.
        n:
          type: integer
          maximum: 10.0
          minimum: 1.0
          title: N
          default: 3
        compounds:
          items:
            $ref: '#/components/schemas/LibraryCompound'
          type: array
          maxItems: 2000
          minItems: 1
          title: Compounds
      type: object
      required:
      - smiles
      - compounds
      title: AnaloguesRequest
    PrepareResponse:
      properties:
        compounds:
          items:
            $ref: '#/components/schemas/PreparedCompound'
          type: array
          title: Compounds
        n_valid:
          type: integer
          title: N Valid
        n_invalid:
          type: integer
          title: N Invalid
      type: object
      required:
      - compounds
      - n_valid
      - n_invalid
      title: PrepareResponse
    LibraryAnalogue:
      properties:
        name:
          type: string
          maxLength: 200
          title: Name
          default: ''
        smiles:
          type: string
          maxLength: 2000
          title: Smiles
        assay:
          type: string
          enum:
          - microsomes
          - hepatocytes
          title: Assay
          default: microsomes
        clint:
          anyOf:
          - type: number
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Clint
          description: µL/min/mg protein, or µL/min/10⁶ cells for hepatocytes.
        fu_mic:
          anyOf:
          - type: number
            maximum: 1.0
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Fu Mic
          description: Unbound fraction in the incubation.
        fu_p:
          anyOf:
          - type: number
            maximum: 1.0
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Fu P
          description: Unbound fraction in plasma.
        rb:
          anyOf:
          - type: number
            maximum: 50.0
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Rb
          description: Blood to plasma ratio.
        cl_obs:
          anyOf:
          - type: number
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Cl Obs
          description: Observed plasma CL, mL/min/kg.
        similarity:
          type: number
          title: Similarity
      type: object
      required:
      - smiles
      - similarity
      title: LibraryAnalogue
    LibraryCompound:
      properties:
        name:
          type: string
          maxLength: 200
          title: Name
          default: ''
        smiles:
          type: string
          maxLength: 2000
          title: Smiles
        assay:
          type: string
          enum:
          - microsomes
          - hepatocytes
          title: Assay
          default: microsomes
        clint:
          anyOf:
          - type: number
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Clint
          description: µL/min/mg protein, or µL/min/10⁶ cells for hepatocytes.
        fu_mic:
          anyOf:
          - type: number
            maximum: 1.0
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Fu Mic
          description: Unbound fraction in the incubation.
        fu_p:
          anyOf:
          - type: number
            maximum: 1.0
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Fu P
          description: Unbound fraction in plasma.
        rb:
          anyOf:
          - type: number
            maximum: 50.0
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Rb
          description: Blood to plasma ratio.
        cl_obs:
          anyOf:
          - type: number
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Cl Obs
          description: Observed plasma CL, mL/min/kg.
      type: object
      required:
      - smiles
      title: LibraryCompound
      description: One compound and whatever the user measured on it. Only the structure is required.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    AnaloguesResponse:
      properties:
        analogues:
          items:
            $ref: '#/components/schemas/LibraryAnalogue'
          type: array
          title: Analogues
      type: object
      required:
      - analogues
      title: AnaloguesResponse
      description: The user's own compounds nearest the structure. Processed in memory and not stored.
    PrepareRequest:
      properties:
        compounds:
          items:
            $ref: '#/components/schemas/LibraryCompound'
          type: array
          maxItems: 2000
          minItems: 1
          title: Compounds
      type: object
      required:
      - compounds
      title: PrepareRequest
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    PreparedCompound:
      properties:
        name:
          type: string
          maxLength: 200
          title: Name
          default: ''
        smiles:
          anyOf:
          - type: string
          - type: 'null'
          title: Smiles
          description: Standardised parent; null when the structure could not be read.
        assay:
          type: string
          enum:
          - microsomes
          - hepatocytes
          title: Assay
          default: microsomes
        clint:
          anyOf:
          - type: number
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Clint
          description: µL/min/mg protein, or µL/min/10⁶ cells for hepatocytes.
        fu_mic:
          anyOf:
          - type: number
            maximum: 1.0
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Fu Mic
          description: Unbound fraction in the incubation.
        fu_p:
          anyOf:
          - type: number
            maximum: 1.0
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Fu P
          description: Unbound fraction in plasma.
        rb:
          anyOf:
          - type: number
            maximum: 50.0
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Rb
          description: Blood to plasma ratio.
        cl_obs:
          anyOf:
          - type: number
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Cl Obs
          description: Observed plasma CL, mL/min/kg.
        row:
          type: integer
          title: Row
          description: 1-based position in the request, for the upload report.
        error:
          anyOf:
          - type: string
          - type: 'null'
          title: Error
      type: object
      required:
      - smiles
      - row
      title: PreparedCompound
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: /api/auth/login