canonical: https://jentic.com/apis/octopart.com/octopart

# Octopart API

Octopart is the electronic component search engine used by hardware engineers and procurement teams to find parts, datasheets, distributor pricing, and stock. The v4 API exposes search and lookup over Octopart's parts catalogue, plus access to categories, sellers, and brands. The integration is typically paired with BOM tools and ERP systems to automate sourcing decisions, surface authorised distributors, and track availability across electronic component supply chains.

## For AI agents

Search electronic parts, retrieve pricing and stock from authorised distributors, and look up datasheets and categories.

## Scope

Does not handle order placement, payment processing, or warehouse logistics - use for Octopart parts search, matching, pricing, and stock visibility only.

## Capabilities

- Search electronic parts by manufacturer part number, keyword, or specification
- Retrieve a part by ID with datasheets, distributor pricing, and stock signals
- Match an MPN string against the Octopart catalogue for BOM resolution
- Browse the Octopart category tree for component classification
- List sellers and authorised distributors carrying a part
- Look up brand metadata for a manufacturer in the Octopart taxonomy

## Use cases

### BOM Sourcing and Resolution

Resolve a bill of materials by matching every manufacturer part number to an Octopart record using `/rest/v1/parts/match`, then fetching distributor pricing and stock for each matched part. This produces a sourcing-ready BOM with authorised seller links for procurement. Hardware teams typically run this nightly so the engineering BOM and the procurement BOM stay aligned.

Example prompt: Call `/rest/v1/parts/match` with 50 MPNs and return matched part IDs with their distributor stock and price.

### Component Availability Monitoring

Monitor key components for stock-outs by polling `/rest/v1/parts/{id}` on a schedule and alerting when stock drops below a threshold across authorised distributors. Useful for hardware operations teams managing long-lead-time parts where a sudden distributor stock-out can stall a production run. Combine with engineering BOM tagging for prioritised alerting.

Example prompt: Call `/rest/v1/parts/{id}` for a watched part and alert if the sum of distributor stock falls below 100 units.

### Engineering Part Selection

Help an engineer pick a part by searching `/rest/v1/parts/search` with technical filters (package, voltage, temperature range) and returning the top candidates with datasheets and seller availability. The API surfaces enough metadata to shortlist parts before deeper review, reducing hours spent across distributor websites. Common in custom EDA tools and internal part-selection apps.

Example prompt: Call `/rest/v1/parts/search` for 'LM358 SOIC-8' and return the top five parts with datasheet URLs.

### AI Agent Procurement Concierge

An AI agent embedded in a hardware ops chatbot can answer questions like 'is the STM32F411 in stock at any authorised distributor' by calling Octopart through Jentic. The agent finds the right operation by intent, executes the call, and replies with a natural-language summary of distributor stock. Credentials remain in your Jentic One instance, and the agent never sees the raw API key.

Example prompt: Use Jentic to call `/rest/v1/parts/match` for an MPN and reply with stock and price across distributors.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/rest/v1/parts/search` | Search parts by keyword or filter |
| GET | `/rest/v1/parts/{id}` | Retrieve a part with pricing and stock |
| POST | `/rest/v1/parts/match` | Match MPNs against the catalogue |
| GET | `/rest/v1/categories` | Browse the category tree |
| GET | `/rest/v1/sellers` | List authorised sellers |
| GET | `/rest/v1/brands` | Look up brand metadata |
| POST | `/endpoint` | GraphQL endpoint for advanced queries |

## Key resources

- **Search** — Search the Octopart parts catalogue by keyword or specification.
- **Parts** — Retrieve and match parts with pricing, stock, and datasheets.
- **Categories** — Browse the component category tree.
- **Sellers** — List authorised distributors and sellers.
- **Brands** — Look up manufacturer brand metadata.

## Why Jentic

- **Setup:** Wiring Octopart by hand means choosing between its apikey query parameter and Authorization header auth, learning the `/rest/v1` parts search, match, and reference endpoints, and parsing pricing and stock yourself. Through Jentic you install once, import Octopart from the API Directory, store the API key once, and your agent calls it.
- **Permission scoping:** Octopart puts the part id in the URL path (`/rest/v1/parts/{id}`), so a rule can pin your agent to reads on a specific part, and for the search, match, and reference calls you limit it to the operations it needs, such as searching parts or matching a part number. You choose the operations it may call.
- **Credential handling:** Your Octopart API key is stored once, encrypted, by your own Jentic One instance and injected at execution time into the apikey parameter or Authorization header. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'match a manufacturer part number' or 'check part stock and pricing', and Jentic returns the matching Octopart operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Digi-Key API** — Authorised distributor API with parts, stock, and ordering
- **Stripe API** — Payment processing for online businesses
- **Shodan API** — Internet-wide host and device intelligence

## FAQ

### What authentication does the Octopart API use?

An API key, accepted either in the apikey query parameter or in the Authorization header. Jentic stores the key encrypted in its vault and injects it at execution time so the raw secret never enters the agent's prompt.

### Can I match a list of MPNs against Octopart in one call?

Yes. POST a list of manufacturer part numbers to `/rest/v1/parts/match` and Octopart returns the best matches with pricing and stock signals. This is the primary entry point for BOM resolution workflows.

### What are the rate limits for the Octopart API?

Octopart's API plans set per-key request quotas - confirm your tier in the Nexar/Octopart account dashboard. Batch where possible (especially via `/parts/match`) and respect 429 responses with exponential backoff to stay within limits.

### How do I search for a part through Jentic?

Search Jentic for 'search Octopart parts by keyword', load the schema for `/rest/v1/parts/search`, then execute with the search term. With pip install jentic the call is await client.search(...), await client.load(...), await client.execute(...) inside an asyncio.run wrapper.

### Does the API return datasheet URLs?

Yes - `/rest/v1/parts/{id}` returns datasheet URLs alongside distributor pricing and stock when the manufacturer or distributor has supplied them.

### Is the Octopart API free?

Octopart offers tiered API plans through Nexar with different request quotas and feature access. There is typically a developer tier for evaluation; production volume requires a paid plan.

### Can I use GraphQL with Octopart?

Yes - the v4 API also exposes a GraphQL endpoint at /endpoint for advanced queries. The REST endpoints in this spec cover the most common search and lookup paths without requiring a GraphQL client.

### Can I limit what my agent is allowed to do with the Octopart API?

Yes. Because you run Jentic One yourself, your own rules decide which Octopart operations and credentials the agent may use, so you can restrict it to only what a task needs, such as searching parts with `/rest/v1/parts/search` or matching part numbers with `/rest/v1/parts/match.` Since Octopart puts the part id in the URL path at `/rest/v1/parts/{id}`, you can also pin the agent to reads on a specific part while keeping the categories, sellers, and brands lookups off limits. Your stored API key is injected at execution time and never enters the agent's prompt, so the agent only ever calls the operations you have allowed.
