octopart.com APIoctopart.com ↗
Search electronic components on Octopart. Get real-time pricing, stock levels, specs, datasheets, and seller offers across distributors via 4 API endpoints.
curl -X GET 'https://api.parse.bot/scraper/29bd1b9e-8808-4396-9ded-37aba5aa0ae4/search_parts?limit=3&query=capacitor&offset=0&country=US¤cy=USD' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for electronic parts by keyword. Returns paginated results with pricing and availability from multiple distributors.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of results to return. |
| queryrequired | string | Search keyword (e.g. 'resistor', 'capacitor', 'Arduino'). |
| offset | integer | Number of results to skip for pagination. |
| country | string | Country code for pricing and availability. |
| currency | string | Currency code for pricing. |
| in_stock_only | boolean | Filter to only show in-stock parts. |
{
"type": "object",
"fields": {
"results": "array of part objects with id, mpn, name, manufacturer, slug, description, image_url, datasheet_url, and sellers",
"total_hits": "integer total number of matching parts"
},
"sample": {
"data": {
"results": [
{
"id": "58145950",
"mpn": "224MKP275KB",
"name": "Cornell Dubilier 224MKP275KB",
"slug": "/part/cornell-dubilier/224MKP275KB",
"sellers": [
{
"name": "Master Electronics",
"offers": [
{
"moq": 500,
"sku": "224MKP275KB",
"prices": [
{
"price": 0.2522,
"currency": "USD",
"quantity": 1000,
"converted_price": 0.2522,
"converted_currency": "USD"
}
],
"inventory_level": 8002
}
],
"is_authorized": true
}
],
"image_url": "https://sigma.octopart.com/21540338/image/Cornell-Dubilier-224MKP275KB.jpg",
"description": "Film Capacitor, Polypropylene, 10% +Tol, 10% -Tol, 0.22uF, Through Hole Mount",
"manufacturer": "Cornell Dubilier",
"datasheet_url": "http://datasheet.octopart.com/224MKP275KB-Cornell-Dubilier-datasheet-158974572.pdf"
}
],
"total_hits": 3670923
},
"status": "success"
}
}About the octopart.com API
The Octopart API exposes 4 endpoints for querying electronic parts data, including distributor pricing, stock availability, technical specifications, and datasheets. The search_parts endpoint accepts keyword queries with filters for stock status, country, and currency, returning paginated results with seller offers. get_part_detail returns granular per-part data — specs, descriptions, images, and offer breakdowns — by Octopart part ID or manufacturer part number.
Search and Filter Electronic Parts
The search_parts endpoint accepts a required query string (e.g. 'STM32F4', '0805 resistor') alongside optional parameters including limit, offset, country, currency, and in_stock_only. Each result object in the results array includes mpn, manufacturer, description, image_url, datasheet_url, and a sellers array. The total_hits field enables standard pagination logic. Filtering with in_stock_only: true narrows results to parts with at least one distributor showing availability.
Part Detail and Seller Offers
get_part_detail accepts either a part_id (Octopart's internal identifier) or an mpn, with an optional manufacturer parameter to disambiguate when multiple manufacturers share a part number. The response includes a specs array of attribute/display_value pairs covering electrical and mechanical characteristics, a sellers array with company, is_authorized, is_broker, and nested offers, plus best_datasheet and best_image objects containing direct URLs.
Categories and Manufacturers
get_categories returns the full category tree as a flat array of objects with id, name, path, and children. This is useful for building browse interfaces or mapping your own taxonomy to Octopart's hierarchy. get_manufacturers returns all manufacturers with at least 5 active parts, each with id, name, slug, and aliases — the aliases field is particularly useful for normalizing brand name variations (e.g. 'TI' vs 'Texas Instruments') in downstream data pipelines.
- Build a BOM (bill of materials) tool that resolves MPNs to live distributor pricing and stock via
get_part_detail - Power a component search interface using
search_partswithin_stock_onlyfiltering for procurement workflows - Track cross-distributor price differences for a specific part by reading the
sellers[].offersarray - Normalize manufacturer names in a parts database using the
aliasesfield fromget_manufacturers - Generate category-browsable component catalogs using the parent-child hierarchy from
get_categories - Surface datasheet URLs automatically during hardware design review using the
best_datasheet.urlfield - Monitor availability for a watchlist of parts by polling
get_part_detailwith storedpart_idvalues
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Octopart have an official developer API?+
What does the `sellers` field in `get_part_detail` include, and does it distinguish authorized distributors from brokers?+
sellers array includes a company name, a boolean is_authorized flag indicating whether the seller is a manufacturer-authorized distributor, and a boolean is_broker flag. Nested offers contain pricing and availability data per seller.Does `search_parts` return historical pricing or price trend data?+
sellers array in search results reflects current offer data only — there are no historical price fields in the response. The API covers current pricing, stock, and specs. You can fork it on Parse and revise to add a price-history tracking endpoint if you need that capability.Are parametric or spec-based searches supported (e.g. filter by capacitance or voltage rating)?+
query parameter; there is no spec-attribute filter in search_parts. The API covers keyword search, part detail, categories, and manufacturers. You can fork it on Parse and revise to add parametric filtering against the specs fields returned by get_part_detail.How does pagination work in `search_parts`?+
offset and limit parameters together with the total_hits integer in the response. For example, with limit=25 and total_hits=300, increment offset by 25 on each request to page through all results. There is no cursor-based pagination; offset-based paging is the only supported method.