ivive.app Molecule API

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

GitHub OpenAPI

Operations 2

POST /api/molecule/parse Parse SMILES and compute descriptors #
POST /api/molecule/by-name Find a structure by drug name (PubChem) #

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-molecule-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-molecule-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ivive.app Molecule 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: molecule
paths:
  /api/molecule/parse:
    post:
      tags:
      - molecule
      summary: Parse SMILES and compute descriptors
      description: Accepts a SMILES string, validates it, and returns physicochemical descriptors, drug-likeness filters, and a 2D SVG structure.
      operationId: parse_molecule_api_molecule_parse_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoleculeParseRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MoleculeParseResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/molecule/by-name:
    post:
      tags:
      - molecule
      summary: Find a structure by drug name (PubChem)
      description: Looks the name up in PubChem (NCBI) and returns its structure. Only the name is sent to PubChem, never a structure. POST, so the name stays out of URLs and request logs.
      operationId: structure_by_name_api_molecule_by_name_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NameLookupRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NameLookupResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    RuleFilter:
      properties:
        pass:
          type: boolean
          title: Pass
        violations:
          items:
            type: string
          type: array
          title: Violations
      type: object
      required:
      - pass
      - violations
      title: RuleFilter
    AlertFilter:
      properties:
        pass:
          type: boolean
          title: Pass
        alerts:
          items:
            type: string
          type: array
          title: Alerts
      type: object
      required:
      - pass
      - alerts
      title: AlertFilter
    NameLookupResponse:
      properties:
        name:
          type: string
          title: Name
          description: PubChem's title for the compound.
        cid:
          type: integer
          title: Cid
        smiles:
          type: string
          title: Smiles
        source:
          type: string
          title: Source
          default: PubChem
      type: object
      required:
      - name
      - cid
      - smiles
      title: NameLookupResponse
    MoleculeParseResponse:
      properties:
        smiles:
          $ref: '#/components/schemas/SmilesInfo'
        descriptors:
          $ref: '#/components/schemas/DescriptorsInfo'
        filters:
          $ref: '#/components/schemas/FiltersInfo'
      type: object
      required:
      - smiles
      - descriptors
      - filters
      title: MoleculeParseResponse
    DescriptorsInfo:
      properties:
        mw:
          type: number
          title: Mw
        logp:
          type: number
          title: Logp
        tpsa:
          type: number
          title: Tpsa
        hbd:
          type: integer
          title: Hbd
        hba:
          type: integer
          title: Hba
        rot_bonds:
          type: integer
          title: Rot Bonds
        heavy_atom_count:
          type: integer
          title: Heavy Atom Count
        mol_refractivity:
          type: number
          title: Mol Refractivity
        svg:
          type: string
          title: Svg
      type: object
      required:
      - mw
      - logp
      - tpsa
      - hbd
      - hba
      - rot_bonds
      - heavy_atom_count
      - mol_refractivity
      - svg
      title: DescriptorsInfo
    FiltersInfo:
      properties:
        lipinski:
          $ref: '#/components/schemas/RuleFilter'
        veber:
          $ref: '#/components/schemas/RuleFilter'
        egan:
          $ref: '#/components/schemas/RuleFilter'
        ghose:
          $ref: '#/components/schemas/RuleFilter'
        pains:
          $ref: '#/components/schemas/AlertFilter'
        brenk:
          $ref: '#/components/schemas/AlertFilter'
        qed:
          type: number
          title: Qed
      type: object
      required:
      - lipinski
      - veber
      - egan
      - ghose
      - pains
      - brenk
      - qed
      title: FiltersInfo
    NameLookupRequest:
      properties:
        name:
          type: string
          maxLength: 100
          minLength: 1
          pattern: ^[A-Za-z0-9][A-Za-z0-9 ,.'()+\-]*$
          title: Name
          description: A drug or common name, e.g. midazolam.
      type: object
      required:
      - name
      title: NameLookupRequest
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    MoleculeParseRequest:
      properties:
        smiles:
          type: string
          maxLength: 2000
          title: Smiles
          description: Structure as SMILES.
      type: object
      required:
      - smiles
      title: MoleculeParseRequest
    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
    SmilesInfo:
      properties:
        input:
          type: string
          title: Input
        canonical:
          type: string
          title: Canonical
      type: object
      required:
      - input
      - canonical
      title: SmilesInfo
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: /api/auth/login