Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.cyanheads/pubchem-mcp-server

REMOTE · PUBCHEM.CASEYJHAND.COM · 2 COMPONENTS · SCANNED AUG 3

Search PubChem compounds, properties, safety data, bioactivity, and cross-references.

+2 this week 65 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security66
  • The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
  • Authorisation not fully verified: no authorisation is required to call this server, and 10 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
  • HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
  • The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
  • DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
Schema Quality & AI Usability62
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3369 tokens (~336/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management7
  • Stability check failed: schema churn in the 8 days we've observed: 0 tool removals, 4 breaking changes, 0 auth/transport breaks, 0 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · pubchem.caseyjhand.com

# add to Claude Code
claude mcp add --transport http cyanheads-pubchem-mcp-server https://pubchem.caseyjhand.com/mcp
# ~/.codex/config.toml
[mcp_servers.cyanheads-pubchem-mcp-server]
url = "https://pubchem.caseyjhand.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cyanheads-pubchem-mcp-server": {
      "type": "remote",
      "url": "https://pubchem.caseyjhand.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add cyanheads-pubchem-mcp-server --url https://pubchem.caseyjhand.com/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  cyanheads-pubchem-mcp-server:
    url: "https://pubchem.caseyjhand.com/mcp"
// mcp.json
{
  "mcpServers": {
    "cyanheads-pubchem-mcp-server": {
      "type": "http",
      "url": "https://pubchem.caseyjhand.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7.

  • 31 Jul 26 +2
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 28 Jul 26 −1
    • Stability: 0.03 → fail security
    • Tool “pubchem_search_compounds” rewrote its description, which is the text the model reads security
    • Tool “pubchem_get_compound_interactions” rewrote its description, which is the text the model reads security
    • Tool “pubchem_get_compound_details” rewrote its description, which is the text the model reads security
    • Tool “pubchem_get_compound_3d_structure” rewrote its description, which is the text the model reads security
    • Schema quality: 281 → 336 functional
    • “pubchem_search_compounds” changed the type of “maxResults”: number → integer functional
    • “pubchem_get_bioactivity” changed the type of “maxResults”: number → integer functional
    • “pubchem_get_compound_xrefs” changed the type of “maxPerType”: number → integer functional
    • “pubchem_search_assays” changed the type of “maxResults”: number → integer functional
    • Server version: 0.5.1 → 0.6.0 functional
    • Server version: 0.4.3 → 0.5.0 functional
    • Server version: 0.4.2 → 0.4.3 functional
    • Server version: 0.4.1 → 0.4.2 functional
    • “pubchem_get_compound_interactions” added an optional parameter “offset” cosmetic
    • “pubchem_search_compounds” added an optional parameter “offset” cosmetic
    • “pubchem_get_bioactivity” added an optional parameter “offset” cosmetic
    • “pubchem_get_compound_interactions” reworded the description of “maxEntries” cosmetic
    • “pubchem_search_compounds” reworded the description of “maxResults” cosmetic
    • “pubchem_get_bioactivity” reworded the description of “maxResults” cosmetic
    • “pubchem_get_compound_details” reworded the description of “includeSynonyms” cosmetic
    • “pubchem_get_compound_details” reworded the description of “cids” cosmetic
    • “pubchem_get_compound_3d_structure” reworded the description of “includeAlternateConformerIds” cosmetic
    • “pubchem_get_compound_details” reworded the description of “maxDescriptions” cosmetic
    • “pubchem_get_compound_details” reworded the description of “includeDrugLikeness” cosmetic
  • 27 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 63

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://pubchem.caseyjhand.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=caseyjhand.com CN=WE1,O=Google Trust Services,C=US 7 Jul 2026 5 Oct 2026 ECDSA 256 ECDSA-SHA256 5aad900eb2055a0b0ea55912ec19680c
SANs: caseyjhand.com, *.caseyjhand.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b
DNSSEC secure

Validation of pubchem.caseyjhand.com. Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
caseyjhand.com. present 2371 13 Verified
pubchem.caseyjhand.com. Verified address RRset verified with the apex keys
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
x-content-type-options nosniff
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://pubchem.caseyjhand.com/mcp Verified 200
http (plaintext) http://pubchem.caseyjhand.com/mcp HTTPS enforced 301 https://pubchem.caseyjhand.com/mcp
MCP tools — 10 exposed · ~3,133 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
pubchem_get_bioactivity ~360

Get a compound's bioactivity profile: which assays tested it, activity outcomes (Active/Inactive/Inconclusive), target identifiers (NCBI Gene ID, UniProt/GenBank accession), and quantitative values (IC50, EC50, Ki, etc.). Filter by outcome and/or a specific molecular target (NCBI Gene ID or protein accession) to focus the profile — e.g. "is this compound active against target T?".

NameTypeReqDescription
cidintegeryesPubChem Compound ID. Resolve from name/SMILES with pubchem_search_compounds.
maxResultsintegerMax assay results to return per page (1-100). Well-studied compounds have thousands of records; use offset to reach the ones past this page. Default: 20.
offsetintegerZero-based index of the first assay to return, applied after the outcome and target filters. Pass the nextOffset from a previous call to read the following page. Default: 0.
outcomeFilterstringFilter by activity outcome. "active" shows only assays where the compound showed activity — most useful for understanding biological profile. Default: "all".
targetAccessionstringFilter to assays against this target protein accession (UniProt/GenBank), e.g. "P35354". Obtain accessions from pubchem_search_assays or the targetAccession field of an unfiltered result here.
targetGeneIdintegerFilter to assays against this NCBI Gene ID. Obtain Gene IDs from pubchem_search_assays or the targetGeneId field of an unfiltered result here. Combine with outcomeFilter="active" to answer "is this c…
NameTypeReqDescription
activeCountnumberyesAssays with "Active" outcome.
capnumberThe maxResults cap that was applied.
cidnumberyesPubChem Compound ID.
filteredCountnumberyesExact number of assays matching the outcome and target filters, across all pages.
inactiveCountnumberyesAssays with "Inactive" outcome.
nextOffsetnumberOffset to pass on the next call to continue past this page. Omitted when no further assays match.
noticestringRecovery guidance when the filter yields no results or the compound has no bioactivity data.
offsetnumberyesZero-based index of the first assay returned.
outcomeFilterstringyesOutcome filter applied: active, inactive, or all.
resultsarrayyesAssay results matching the filter.
returnedCountnumberyesAssays returned on this page.
shownnumberAssays returned on this page.
targetFilterstringTarget filter applied (gene ID and/or protein accession), when set.
totalAssaysnumberyesTotal unique assays for this compound.
truncatedbooleanTrue when matching assays remain past this page.

No examples provided.

pubchem_get_compound_3d_structure ~361

Get a compound's default 3D conformer — atomic coordinates and bonds — for one CID. format="json" (default) returns atoms and bonds parsed into structured fields; format="sdf" returns the raw V2000 SDF text for passthrough to docking, rendering, or conformer tools. Optionally lists alternate conformer IDs. Not every compound has computed 3D coordinates (large molecules, mixtures, and some salts do not).

NameTypeReqDescription
cidintegeryesPubChem Compound ID. Resolve from name/SMILES with pubchem_search_compounds.
formatstringOutput format. "json" (default) returns parsed atoms and bonds. "sdf" returns the raw V2000 SDF text for passthrough to other tools.
includeAlternateConformerIdsbooleanList the IDs of additional computed conformers beyond the default. Slower than the default response. Default: false.
includeRawSdfbooleanFor format="sdf", return the complete raw V2000 SDF even when it exceeds the safe line cap. Default false: an SDF longer than 500 lines is line-capped with disclosure. No effect when format="json".
maxAtomsintegerCap the atoms returned in the format="json" preview. atomCount always reports the full total; omitted rows are disclosed via the truncated/shownAtoms enrichment. Defaults to the first 200 atoms.
maxBondsintegerCap the bonds returned in the format="json" preview. bondCount always reports the full total; omitted rows are disclosed via the truncated/shownBonds enrichment. Defaults to the first 200 bonds.
NameTypeReqDescription
alternateConformerIdsarrayConformer IDs beyond the default. Present when includeAlternateConformerIds is set and alternates exist.
atomCapnumberThe atom cap applied (explicit maxAtoms or the safe default), when the atom list was capped.
atomCountnumberyesNumber of atoms in the conformer.
atomsarrayParsed atoms. Populated when format="json".
bondCapnumberThe bond cap applied (explicit maxBonds or the safe default), when the bond list was capped.
bondCountnumberyesNumber of bonds in the conformer.
bondsarrayParsed bonds. Populated when format="json".
cidnumberyesPubChem Compound ID.
conformerIdstringDefault (primary) conformer ID. Present when includeAlternateConformerIds is set.
noticestringGuidance naming which lists were capped and how to widen them.
sdfstringRaw V2000 SDF text. Populated when format="sdf".
shownAtomsnumberAtoms returned after the cap, when fewer than atomCount. Raise maxAtoms for more.
shownBondsnumberBonds returned after the cap, when fewer than bondCount. Raise maxBonds for more.
shownSdfLinesnumberSDF lines returned when format="sdf" and the raw text was line-capped. Set includeRawSdf for the full record.
truncatedbooleanTrue when the atom list, bond list, or raw SDF was capped below its total. atomCount/bondCount always report the full totals.

No examples provided.

pubchem_get_compound_details ~656

Get detailed compound information by CID. Returns physicochemical properties (molecular weight, SMILES, InChIKey, XLogP, TPSA, etc.), optionally with a textual description (pharmacology, mechanism, therapeutic use), known synonyms, drug-likeness assessment (Lipinski/Veber rules), and/or pharmacological classification (FDA classes, MeSH classes, ATC codes). Accepts up to 100 CIDs per call.

NameTypeReqDescription
cidsarrayyesPubChem Compound IDs to fetch (1-100). Resolve from names/SMILES with pubchem_search_compounds.
descriptionOffsetintegerZero-based index of the first description to return within each compound's description list. The same offset is applied to every compound in the batch. Pass the nextDescriptionOffset from a previous…
includeClassificationbooleanInclude pharmacological classification: FDA Established Pharmacologic Classes, mechanisms of action, MeSH classes, and ATC codes. Fetched only for the first 10 CIDs in the batch; remaining CIDs retur…
includeDescriptionbooleanInclude textual descriptions (pharmacology, mechanism, therapeutic use) attributed by source. Well-studied compounds have many overlapping summaries — paged via descriptionOffset/maxDescriptions. Fet…
includeDrugLikenessbooleanCompute drug-likeness assessment: Lipinski Rule of Five (MW, XLogP, HBD, HBA) and Veber rules (TPSA, rotatable bonds). Computed from the returned properties, so it adds no latency.
includeSynonymsbooleanFetch known names and synonyms (trade names, systematic names, registry numbers), paged via synonymOffset/maxSynonyms. Fetched for every found CID in the batch. Slower for large CID lists.
maxDescriptionsintegerMax number of distinct description entries per compound per page (1-20). PubChem returns near-duplicate summaries from many depositors; duplicates are collapsed before this cap applies. Default: 3.
maxSynonymsintegerMax synonyms returned per compound per page (1-100). PubChem lists hundreds for common drugs; use synonymOffset to reach the ones past this page. Default: 20.
propertiesarrayProperties to retrieve. Defaults to a core set: MolecularFormula, MolecularWeight, IUPACName, CanonicalSMILES, IsomericSMILES, InChIKey, XLogP, TPSA, HBondDonorCount, HBondAcceptorCount, RotatableBon…
synonymOffsetintegerZero-based index of the first synonym to return within each compound's synonym list. The same offset is applied to every compound in the batch. Pass the nextSynonymOffset from a previous call to read…
NameTypeReqDescription
compoundsarrayyesCompound detail records.
descriptionOffsetnumberZero-based index of the first description returned within each compound's list. Present when includeDescription is true.
enrichedCidsarrayCIDs whose descriptions and classification were fetched. Present only when the batch exceeded the per-call fan-out limit and other CIDs were skipped.
nextDescriptionOffsetnumberdescriptionOffset to pass on the next call to continue past this page. Omitted when no compound in the batch has further descriptions.
nextSynonymOffsetnumbersynonymOffset to pass on the next call to continue past this page. Omitted when no compound in the batch has further synonyms.
noticestringRecovery guidance covering the skipped CIDs, an offset that runs past every compound, and pages that remain. Absent when nothing was skipped or truncated.
skippedCidsarrayCIDs found in PubChem whose descriptions and classification were NOT fetched because the batch exceeded the per-call fan-out limit. Their absence from a record means "not requested", not "PubChem has…
synonymOffsetnumberZero-based index of the first synonym returned within each compound's list. Present when includeSynonyms is true.

No examples provided.

pubchem_get_compound_image ~84

Fetch a 2D structure diagram (PNG image) for a compound by CID.

NameTypeReqDescription
cidintegeryesPubChem Compound ID. Resolve from name/SMILES with pubchem_search_compounds.
sizestringImage size: "small" (100x100) or "large" (300x300). Default: "large".
NameTypeReqDescription
cidnumberyesPubChem Compound ID.
heightnumberyesImage height in pixels.
imageBase64stringyesBase64-encoded PNG image data.
mimeTypestringyesMIME type — always "image/png".
widthnumberyesImage width in pixels.

No examples provided.

pubchem_get_compound_interactions ~278

Get a compound's interaction data: drug-drug interactions (DrugBank), drug-food interactions, and chemical-target interactions (binding/activity from BindingDB, ChEMBL, and others). Each entry carries its originating source. Results are paged per kind, with the source-record total and the next offset reported for each. Richest for approved drugs; many compounds have no deposited interaction records.

NameTypeReqDescription
cidintegeryesPubChem Compound ID. Resolve from name/SMILES with pubchem_search_compounds.
kindsarrayInteraction kinds to fetch. "drug-drug" (interactions with other drugs), "drug-food" (dietary interactions), "target" (binding/activity against molecular targets). Default: ["drug-drug"].
maxEntriesintegerMax entries per kind per page (1-50). Well-studied drugs have a long tail of interactions; use offset to reach the ones past this page. Default: 10.
offsetintegerZero-based start position within each requested kind, counted in source records rather than returned entries. The same offset applies to every kind in the call, and the kinds advance at different rat…
NameTypeReqDescription
cidnumberyesPubChem Compound ID.
entriesarrayyesInteraction entries across the requested kinds.
failedKindsstringInteraction kinds that could not be retrieved (comma-separated). The returned entries cover the kinds that succeeded; retry to re-attempt the failed ones.
nextOffsetnumberOffset to pass on the next call, reported when exactly one requested kind has records remaining. Omitted when none do, and when several do — those advance to different positions, so read paging[].nex…
noticestringGuidance when a kind failed, when no interaction data was found, when the offset runs past every requested kind, or when further pages remain. Absent when this page is complete and every kind resolve…
offsetnumberyesZero-based start position read within each requested kind.
pagingarrayyesPer-kind page position, one entry per requested kind that was retrieved. A kind listed in failedKinds is absent — its position is unknown, not exhausted.
requestedKindsstringyesInteraction kinds requested (comma-separated).
returnedCountnumberyesTotal interaction entries returned across all kinds.

No examples provided.

pubchem_get_compound_safety ~108

Get GHS (Globally Harmonized System) hazard classification and safety data for one or more compounds by CID. Returns signal word, pictograms, hazard statements (H-codes), and precautionary statements (P-codes) per compound. Data sourced from PubChem depositors — source attribution included.

NameTypeReqDescription
cidsarrayyesPubChem Compound IDs to fetch safety data for (1-25). Resolve from names/SMILES with pubchem_search_compounds.
NameTypeReqDescription
noticestringRecovery guidance when one or more CIDs returned no GHS data, listing the unrecognized CIDs to verify separately from the CIDs that exist but carry no deposited classification.
requestedCountnumberyesCIDs requested.
resultsarrayyesSafety results, one per requested CID (input order preserved).
withDataCountnumberyesCIDs with GHS safety data available.

No examples provided.

pubchem_get_compound_xrefs ~260

Get external database cross-references for a compound: PubMed citations, patent IDs, gene/protein associations, registry numbers, and taxonomy IDs. Results are paged per type — capped at maxPerType with the total count reported; reach the IDs past a page with offset.

NameTypeReqDescription
cidintegeryesPubChem Compound ID. Resolve from name/SMILES with pubchem_search_compounds.
maxPerTypeintegerMax IDs to return per xref type per page (1-500). A compound may have thousands of PubMed references; use offset to reach the ones past this page. Total count always reported. Default: 50.
offsetintegerZero-based index of the first ID to return within each xref type. The same offset is applied to every requested type. Pass the nextOffset from a previous call to read the following page. Default: 0.
xrefTypesarrayyesCross-reference types to retrieve. String IDs: RegistryID (DSSTox/EPA registry numbers), RN (CAS numbers), PatentID. Numeric IDs: PubMedID, GeneID (NCBI Gene), ProteinGI (legacy NCBI Protein GI), Tax…
NameTypeReqDescription
cidnumberyesPubChem Compound ID.
nextOffsetnumberOffset to pass on the next call to continue past this page. Omitted when no requested type has further IDs.
noticestringRecovery guidance when every requested xref type returned zero IDs, when the offset runs past every type, or when further pages remain. Absent when this page is complete and non-empty.
offsetnumberyesZero-based index of the first ID returned within each type.
xrefsarrayyesCross-references grouped by type.

No examples provided.

pubchem_get_summary ~148

Get descriptive summaries for PubChem entities by ID. Supports assays (AID), genes (Gene ID), proteins (UniProt accession), and taxonomy (Tax ID). Up to 10 per call.

NameTypeReqDescription
entityTypestringyesEntity type. Determines ID format and returned fields.
identifiersarrayyesEntity identifiers (1-10). Type depends on entityType: - assay: AID (number), e.g. [1000] - gene: Gene ID (number), e.g. [1956] - protein: UniProt accession (string), e.g. ["P00533"] - taxonomy: Tax…
NameTypeReqDescription
entityTypestringyesEntity type queried.
foundCountnumberyesIdentifiers resolved to a summary.
noticestringRecovery guidance when one or more identifiers were not found.
requestedCountnumberyesIdentifiers requested.
summariesarrayyesSummary results.

No examples provided.

pubchem_search_assays ~253

Find PubChem bioassays associated with a biological target. Search by gene symbol (e.g. "EGFR"), protein name, NCBI Gene ID, or UniProt accession. Returns a page of assay IDs (AIDs) — page past maxResults with offset — which can be explored further with pubchem_get_summary.

NameTypeReqDescription
maxResultsintegerMax AIDs to return per page (1-200). Popular targets may have thousands of assays; use offset to reach the ones past this page. Default: 50.
offsetintegerZero-based index of the first AID to return. Pass the nextOffset from a previous call to read the following page. Default: 0.
targetQuerystringyesTarget identifier. Examples: "EGFR" (genesymbol), "Epidermal growth factor receptor" (proteinname), "1956" (geneid), "P00533" (proteinaccession).
targetTypestringyesTarget identifier type. "genesymbol" and "proteinname" accept text names. "geneid" accepts NCBI Gene IDs. "proteinaccession" accepts UniProt accessions.
NameTypeReqDescription
aidsarrayyesPubChem Assay IDs.
capnumberThe maxResults cap that was applied.
nextOffsetnumberOffset to pass on the next call to continue past this page. Omitted when no further AIDs match.
noticestringRecovery guidance when no assays matched, when the offset runs past the result set, or when further pages remain. Absent when this page is complete and non-empty.
offsetnumberyesZero-based index of the first AID returned.
shownnumberAIDs returned on this page.
targetQuerystringyesTarget identifier searched.
targetTypestringyesTarget identifier type used: genesymbol, proteinname, geneid, or proteinaccession.
totalFoundnumberyesTotal AIDs found for this target, across all pages.
truncatedbooleanTrue when matching AIDs remain past this page.

No examples provided.

pubchem_search_compounds ~625

Search PubChem for chemical compounds by identifier (name, SMILES, or InChIKey, batched up to 25), molecular formula in Hill notation, substructure or superstructure containment, or 2D Tanimoto similarity. Returns a page of CIDs — reach matches past maxResults with offset. Optionally hydrate results with properties to avoid a follow-up pubchem_get_compound_details call.

NameTypeReqDescription
allowOtherElementsbooleanFormula search only. When true, includes compounds with additional elements beyond the formula.
formulastringRequired for formula search. Molecular formula in Hill notation (e.g. "C6H12O6", "CaH2O2").
identifierTypestringRequired for identifier search. Type of chemical identifier: "name", "smiles", or "inchikey".
identifiersarrayRequired for identifier search. Array of identifiers to resolve (1-25). Examples: ["aspirin", "ibuprofen"] for name, ["CC(=O)OC1=CC=CC=C1C(=O)O"] for SMILES, ["BSYNRYMUTXBXSQ-UHFFFAOYSA-N"] for inchi…
maxResultsintegerMaximum CIDs to return per page (1-200). Use offset to reach matches past this page. Default: 20.
offsetintegerZero-based index of the first CID to return. Pass the nextOffset from a previous call to read the following page. Identifier lookups resolve every match up front, so paging them is free; formula, sub…
propertiesarrayOptional: fetch these properties for each result, avoiding a follow-up details call. E.g. ["MolecularFormula", "MolecularWeight", "CanonicalSMILES"].
querystringRequired for substructure/superstructure/similarity searches. A SMILES string (e.g. "CC(=O)O") or PubChem CID as a string (e.g. "2244").
queryTypestringRequired for structure/similarity searches. Format of the query: "smiles" or "cid".
searchTypestringyesSearch strategy. "identifier": name/SMILES/InChIKey lookup. "formula": molecular formula. "substructure": find compounds containing the query as a substructure. "superstructure": find compounds that…
thresholdnumberSimilarity search only. Minimum Tanimoto similarity (70-100). 90+ for close analogs, 70-80 for scaffold hops. Default: 90.
NameTypeReqDescription
capnumberThe maxResults cap that was applied.
nextOffsetnumberOffset to pass on the next call to continue past this page. Omitted when no further matches remain.
noticestringRecovery guidance when no compounds matched, when the offset runs past the matches observed, when identifiers failed to resolve, or when further pages remain. Absent when this page is complete and ev…
offsetnumberyesZero-based index of the first CID returned.
resultsarrayyesMatching compounds.
searchTypestringyesSearch strategy used: identifier, formula, substructure, superstructure, or similarity.
shownnumberCIDs returned on this page.
totalFoundnumberExact number of matching CIDs across all pages. Omitted when a formula, substructure, superstructure, or similarity search saturated the records it requested — PubChem returns no match count for thos…
totalFoundAtLeastnumberLower bound on matching CIDs, reported in place of totalFound when the exact count is unavailable. At least this many match, and the true total may be higher; page further with offset to observe more.
truncatedbooleanTrue when matching CIDs remain past this page.
unresolvedIdentifiersarrayIdentifier-mode only: input identifiers that resolved to no CID. Omitted when every identifier resolved and for non-identifier searches.

No examples provided.