openapi: 3.1.0 info: title: Chempirical (Nitramine) API version: '2026-10-09' description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-09: 6 operation(s) read from 1 public documentation page(s) (each operation names its page in x-source). This is not the provider''s published contract; Chempirical (Nitramine) has published no machine-readable contract that the pipeline could find. Engine: anthropic.' x-evidence-tiers: code-example: 1 documentation: 5 pages-with-code: 1 pages-read: 1 x-generated-from: documentation x-provenance: generated x-authored-by: API Evangelist x-generated: '2026-10-09' x-generator: generate-contract-from-docs.py x-engine: anthropic x-sources: - https://chempirical.com/api paths: /api/molecule-svg/50-78-2: get: operationId: get_api_molecule_svg_50_78_2 tags: - Api summary: The structure as SVG. x-source: https://chempirical.com/api parameters: - name: theme in: query required: false schema: type: string description: Set to 'dark' for light lines on a dark background responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetApiMoleculeSvg50782Response' x-evidence: kind: documentation /api/molecules/{moleculeid}: get: operationId: get_api_molecules_moleculeid tags: - Api summary: One compound with names, formula, identifiers, molar and exact mass, density, melting and boiling point, Antoine constants, azeotropes, reactions, and structure image URL. x-source: https://chempirical.com/api parameters: - name: moleculeid in: path required: true schema: type: string responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetApiMoleculesMoleculeidResponse' x-evidence: kind: documentation collapsed_from: 3 example path(s) differing only at moleculeId post: operationId: post_api_molecules_moleculeid tags: - Api summary: POST /api/molecules/64-17-5 x-source: https://chempirical.com/api parameters: - name: moleculeid in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostApiMoleculesMoleculeidRequest' responses: '201': description: Success (shape read from the example response on the page) content: application/json: schema: $ref: '#/components/schemas/PostApiMoleculesMoleculeidResponse' x-evidence: kind: code-example language: curl snippet: "curl -s https://chempirical.com/api/molecules/64-17-5 | jq '.name, .properties.molar_mass_g_per_mol, .physical.boilingPoint.text'\n\ \"Ethanol\"\n46.069\n\"78.5 °C\" \n /api/molecules?q= \n Search compounds by name, CAS number, formula or SMILES. Parameters: q, limit\ \ (at most 200), offset. \n Example curl -s 'https://chempirical.com/api/molecules?q=caffeine&limit=2' | jq '.results[] | {cas, name,\ \ molarMass}'\n" collapsed_from: 2 example path(s) differing only at moleculeId /api/reactions/henry-nitroaldol: get: operationId: get_api_reactions_henry_nitroaldol tags: - Api summary: 'One reaction with its participants: role, equivalents, molar mass and density of each.' x-source: https://chempirical.com/api responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetApiReactionsHenryNitroaldolResponse' x-evidence: kind: documentation /api/reactions/henry-nitroaldol/scale: get: operationId: get_api_reactions_henry_nitroaldol_scale tags: - Api summary: Scale a reaction from one reagent by specifying anchor CAS, unit and value. x-source: https://chempirical.com/api parameters: - name: anchor_cas in: query required: true schema: type: string description: CAS number of anchor reagent - name: anchor_unit in: query required: true schema: type: string description: 'Unit: g, mL, mmol or mol' - name: anchor_value in: query required: true schema: type: number description: Value for anchor amount responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetApiReactionsHenryNitroaldolScaleResponse' x-evidence: kind: documentation /api/{apiid}: get: operationId: get_api_apiid tags: - Api summary: Every set of Antoine constants in the database, with its valid temperature range. x-source: https://chempirical.com/api parameters: - name: apiid in: path required: true schema: type: string responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetApiApiidResponse' x-evidence: kind: documentation collapsed_from: 4 example path(s) differing only at apiId components: schemas: GetApiMoleculeSvg50782Response: type: object properties: svg: type: string description: SVG structure image GetApiMoleculesMoleculeidResponse: type: object properties: name: type: string description: Compound name properties: type: object description: Compound properties including molar mass physical: type: object description: Physical properties including boiling point PostApiMoleculesMoleculeidRequest: type: object properties: terms: type: array items: type: string PostApiMoleculesMoleculeidResponse: type: object properties: cas: type: string name: type: string molarMass: type: number GetApiReactionsHenryNitroaldolResponse: type: object properties: participants: type: array description: Array of reaction participants with role, equivalents, molar mass and density GetApiReactionsHenryNitroaldolScaleResponse: type: object properties: participants: type: array description: Array of scaled reaction participants with mass GetApiApiidResponse: type: object properties: results: type: array description: Array of Antoine constant sets with valid temperature ranges tags: - name: Api