---
title: ToolRouter — Tool Detail
description: Detailed documentation for a ToolRouter tool including skills, parameters, and examples.
url: https://toolrouter.com/tools/chemistry-lookup
---
# Chemistry Lookup

Look up chemical compounds, periodic table elements, and GHS safety data. Search by name, CAS number, or formula for molecular properties and SMILES. Get hazard pictograms and H/P-codes. Find similar compounds or compare elements side by side.

- **Version:** 0.01
- **Categories:** data

## Skills (6)

### Compound Lookup (`compound_lookup`)

Look up a chemical compound by name, CAS number, or formula. Returns molecular formula, weight, IUPAC name, SMILES notation, InChI key, and common synonyms from PubChem.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `query` | string | Yes | Compound name (e.g. "aspirin"), CAS number (e.g. "50-78-2"), or molecular formula (e.g. "C9H8O4") |

**Returns:** Compound properties including molecular formula, weight, IUPAC name, SMILES, InChI key, and common synonyms

**Examples:**

*Look up aspirin:*

```json
{
  "query": "aspirin"
}
```

*Look up by CAS number:*

```json
{
  "query": "50-78-2"
}
```

### Safety Data (`safety_data`)

Get GHS hazard classification and safety data for a chemical compound. Returns pictogram codes, signal word, hazard statements (H-codes), and precautionary statements (P-codes).

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `compound` | string | Yes | Compound name (e.g. "acetone") or CAS number (e.g. "67-64-1") |

**Returns:** GHS classification including pictograms, signal word, hazard statements (H-codes), and precautionary statements (P-codes)

**Examples:**

*Get safety data for acetone:*

```json
{
  "compound": "acetone"
}
```

### Element Info (`element_info`)

Look up a periodic table element by name, symbol, or atomic number. Returns atomic mass, category, phase, density, melting/boiling point, electron configuration, and discovery info.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `query` | string | Yes | Element name (e.g. "Iron"), symbol (e.g. "Fe"), or atomic number (e.g. "26") |

**Returns:** Element data including atomic mass, category, phase, density, melting/boiling point, electron configuration, and discovery info

**Examples:**

*Look up iron:*

```json
{
  "query": "Fe"
}
```

*Look up by atomic number:*

```json
{
  "query": "26"
}
```

### Search Compounds (`search_compounds`)

Search for chemical compounds matching a partial name. Uses PubChem autocomplete to find compounds when the exact name is unknown. Returns a list of matching compound names.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `query` | string | Yes | Partial compound name to search for (e.g. "ibupr", "meth", "chloro") |
| `limit` | number | No | Maximum number of results (1-25, default 10) [default: 10] |

**Returns:** List of compound names matching the search query

**Examples:**

*Search for compounds starting with "ibupr":*

```json
{
  "query": "ibupr"
}
```

### Similar Compounds (`similar_compounds`)

Find compounds structurally similar to a given compound using 2D fingerprint similarity from PubChem. Accepts a compound name or SMILES string and returns similar compounds with their properties.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `compound` | string | Yes | Compound name (e.g. "aspirin") or SMILES string (e.g. "CC(=O)OC1=CC=CC=C1C(O)=O") |
| `threshold` | number | No | Similarity threshold percentage (80-99, default 90). Higher = more similar. [default: 90] |
| `limit` | number | No | Maximum number of results (1-25, default 5) [default: 5] |

**Returns:** Structurally similar compounds with IUPAC names, formulas, weights, and SMILES notation

**Examples:**

*Find compounds similar to aspirin:*

```json
{
  "compound": "aspirin"
}
```

### Compare Elements (`compare_elements`)

Side-by-side comparison of two periodic table elements. Compare atomic mass, density, melting/boiling points, electronegativity, electron configuration, and more.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `element_a` | string | Yes | First element — name (e.g. "Iron"), symbol (e.g. "Fe"), or atomic number (e.g. "26") |
| `element_b` | string | Yes | Second element — name (e.g. "Copper"), symbol (e.g. "Cu"), or atomic number (e.g. "29") |

**Returns:** Side-by-side comparison of two elements including atomic mass, density, melting/boiling points, electronegativity, and electron configuration

**Examples:**

*Compare Iron and Copper:*

```json
{
  "element_a": "Fe",
  "element_b": "Cu"
}
```

## Quick Start

```bash
# Via CLI
TOOLROUTER_API_KEY=tr_live_xxx npx -y toolrouter-mcp call chemistry-lookup compound_lookup --query aspirin

# Via REST API
curl -H "Authorization: Bearer tr_live_xxx" \
     -d '{"tool":"chemistry-lookup","skill":"compound_lookup","input":{"query":"aspirin"}}' \
     https://api.toolrouter.com/v1/tools/call
```

## Frequently Asked Questions

### Can I look up a compound by name, formula, or CAS number?

Yes. `compound_lookup` accepts any of those inputs and returns molecular formula, molecular weight, IUPAC name, SMILES, InChI key, and common synonyms.

### Can I get hazard information for handling or labeling?

`safety_data` returns GHS hazard details, including pictogram codes, signal word, H-codes, and P-codes for the compound you are checking.

### Can I compare elements side by side?

`compare_elements` shows two periodic table elements next to each other, including atomic mass, density, melting and boiling points, electronegativity, and electron configuration.

### What if I only know part of the compound name?

Use `search_compounds` to find partial-name matches, or `similar_compounds` when you want structurally related compounds based on a name or SMILES string.

---

## Get Started with ToolRouter

**Already connected?** Call any tool with `use_tool({ tool, skill, input })`. Browse tools with `discover` or visit https://toolrouter.com/llms-full.txt

**New to ToolRouter?** Connect with one command (no API key needed — auto-provisions on first use):

```bash
# MCP (Claude Code, Codex CLI)
claude mcp add toolrouter -- npx -y toolrouter-mcp

# MCP (Cursor, Windsurf, Cline, VS Code, Gemini CLI, Claude Desktop)
{"mcpServers":{"toolrouter":{"command":"npx","args":["-y","toolrouter-mcp"]}}}

# Claude Chat / Claude Cowork / Claude Mobile — add as a connector:
# Settings → Connectors → Add custom connector → URL: https://api.toolrouter.com/mcp

# ChatGPT — add as an app:
# Settings → Apps → Advanced settings → enable Developer mode → Create app → MCP Server URL: https://api.toolrouter.com/mcp

# CLI (works instantly, no restart needed)
npx -y toolrouter-mcp tools                    # browse all tools
npx -y toolrouter-mcp search "seo"             # search by keyword
npx -y toolrouter-mcp call seo analyze_page --url https://example.com
```

Free tools work immediately. For paid tools, visit https://toolrouter.com/claim to add credits.

All platforms: https://toolrouter.com/connect | Full catalog: https://toolrouter.com/llms-full.txt | Docs: https://toolrouter.com/docs