Component Search Engine APIcomponentsearchengine.com ↗
Search electronic components, retrieve part specs, PCB footprints, schematic symbols, and popularity rankings via the Component Search Engine API.
What is the Component Search Engine API?
The Component Search Engine API provides 3 endpoints for querying electronic component data from componentsearchengine.com, covering part search, detailed metadata retrieval, and popularity rankings. The search_components endpoint returns paginated results up to 25 components per page, while get_component_details exposes rich metadata including recognized parameter values, manufacturer details, and related component suggestions for any specific part number and manufacturer pair.
curl -X GET 'https://api.parse.bot/scraper/8a884328-f5fa-4df7-a98e-f6ce95f8bdf1/get_popular_components?limit=10' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace componentsearchengine-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: ComponentSearch SDK — discover popular parts, search, and drill into details."""
from parse_apis.component_search_engine_api import ComponentSearch, ComponentNotFound
client = ComponentSearch()
# List the most popular components by design-tool usage count.
for comp in client.components.popular(limit=5):
print(comp.part_number, comp.manufacturer, comp.component_class, comp.count)
# Search for a specific part number across manufacturers.
result = client.componentsearchresults.search(query="STM32F407", limit=1).first()
if result:
print(result.part_number, result.manufacturer, result.package_category)
# Drill into the full detail (parametric specs + suggestions) via sub-resource.
try:
detail = result.details.get()
print(detail.description, detail.metadata)
except ComponentNotFound as exc:
print(f"Component not found: {exc}")
print("exercised: components.popular / componentsearchresults.search / details.get")
Retrieve the most popular electronic components ranked by usage count. Each component carries part number, manufacturer, component class, 3D/ECAD availability flags, and a download count reflecting design-tool usage. The response is a flat list ordered by descending count; no pagination — a single request returns all requested items.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of popular components to return. |
{
"type": "object",
"fields": {
"items": "array of component objects each containing partId, partNumber, manufacturer, ecad, have3d, class, samacStatus, count, totalScore, score, lastVisit"
},
"sample": {
"data": {
"items": [
{
"ecad": true,
"class": "Diode",
"count": 218605,
"score": 21860500,
"have3d": true,
"partId": 565255,
"lastVisit": 1781165484,
"partNumber": "BAV99",
"totalScore": 21860500,
"samacStatus": "Released",
"manufacturer": "onsemi"
}
]
},
"status": "success"
}
}About the Component Search Engine API
Endpoints and Data Coverage
The API exposes three endpoints. get_popular_components returns a ranked list of components ordered by usage count, with each record carrying fields like partId, partNumber, manufacturer, ecad, have3d, class, samacStatus, count, totalScore, score, and last. An optional limit parameter controls how many results come back. This is useful for quickly identifying which parts are most actively referenced across the platform.
search_components accepts a required query string (keyword or part number) and an optional page integer for pagination. Each page returns up to 25 components, and the response includes a results array alongside a total_results count so you can calculate page depth before iterating.
Component Detail Retrieval
get_component_details requires both part_number and manufacturer as inputs and returns a single component object with part_number, manufacturer, description, and a metadata block. That metadata block contains recognized parameter values — the structured electrical and physical specs parsed from the component record — plus a suggestions array of related components. The ecad and have3d flags (also visible in the popularity endpoint) signal whether CAD assets such as PCB footprints and 3D models are associated with a part, though the asset files themselves are not returned by these endpoints.
SAMAC Status and Asset Flags
Several response fields are specific to componentsearchengine.com's data model. samacStatus appears in the popularity endpoint and indicates the component's status within the SAMAC (Standard for the Automated Management of Alternate Components) framework. The ecad flag indicates ECAD library asset availability, and have3d indicates 3D model availability. These flags are useful for filtering components during BOM preparation or library management workflows where CAD-ready parts are a prerequisite.
The Component Search Engine API is a managed, monitored endpoint for componentsearchengine.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when componentsearchengine.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official componentsearchengine.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a BOM validation tool that checks part numbers against known manufacturer records using
get_component_details. - Track trending components by usage count with
get_popular_componentsto inform component selection for new designs. - Implement a component autocomplete search in a PCB design tool using
search_componentswith keyword queries. - Filter search results to only ECAD-ready parts by inspecting the
ecadflag insearch_componentsresults. - Retrieve recognized parameter values from
get_component_detailsmetadata to populate a parametric comparison table. - Identify components with 3D models available by checking the
have3dfield before importing into a mechanical CAD workflow. - Paginate through component search results programmatically using the
pageparameter andtotal_resultscount.
| 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 | 100 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 componentsearchengine.com have an official developer API?+
What does `get_component_details` return beyond basic part information?+
metadata object that includes recognized values — structured electrical and physical parameters extracted from the component record — and a suggestions array of related components. The description field provides a text summary of the part. The ecad and have3d flags indicate whether CAD assets are associated, though asset file downloads are not included in the response.Does the API return pricing or distributor stock data for components?+
How does pagination work in `search_components`?+
total_results integer alongside the results array, so you can compute the number of available pages before iterating. Pass the page integer parameter to step through results. If total_results is 75, there are three pages of results at most.Can I retrieve the actual ECAD library files or 3D model files through this API?+
ecad and have3d fields indicate that assets exist for a component, but the API does not return the asset files themselves. You can fork this API on Parse and revise it to add an endpoint that fetches or links to the downloadable library files.