Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

Component Search Engine

Multi-distributor electronic component sourcing platform that aggregates pricing, stock, MOQ, and datasheet data from DigiKey, Mouser, Element14, and TME through a single Flask web interface — with Excel export and live deployment.

Python Flask APIs Live


Live Demo

component-search-engine.onrender.com


What it does

Engineers and procurement teams typically search 4–5 distributor websites manually to compare component pricing and stock. This platform queries all four major distributors simultaneously via their APIs, normalises the response data, and presents a unified comparison view — with Excel export for procurement workflows.


Pipeline

User enters part number(s)
        ↓
Flask backend — parallel API calls
        ↓
DigiKey API  ─┐
Mouser API   ─┤→ normalise response schema
Element14 API─┤   (price, stock, MOQ, datasheet)
TME API      ─┘
        ↓
Pandas — merge and rank by price
        ↓
Frontend — display comparison table
        ↓
Excel export (openpyxl) — download results

Key Features

  • 4 distributor APIs — DigiKey, Mouser, Element14, TME queried in parallel
  • Unified response schema — each distributor returns different JSON structures; normalisation layer maps them to common fields
  • Price comparison — results ranked by unit price for quick lowest-cost identification
  • Stock availability — live inventory levels from each distributor
  • MOQ display — minimum order quantities shown per distributor
  • Datasheet links — direct manufacturer datasheet access where available
  • Search modes — general search and exact part number match
  • Excel export — one-click download of results for procurement teams
  • Freemium access model — free search allowance with session-based control and password-protected premium access
  • Responsive UI — Bootstrap 5, works on desktop and mobile

Technical Decisions

  • Flask over Django — lightweight API aggregator doesn't need ORM or admin panel; Flask keeps deployment simple
  • Environment variables for API keys — all 4 distributor credentials loaded via .env, never hardcoded
  • Pandas for normalisation — each distributor response mapped to a DataFrame with standard columns before merging; handles missing fields gracefully
  • Render for deployment — free tier sufficient for demo traffic; simple gunicorn setup
  • Session-based access control — server-side session tracks free search count without requiring user accounts

Stack

Component Tool
Language Python 3.9+
Web framework Flask
Frontend HTML5, CSS3, Bootstrap 5, JavaScript
Data processing Pandas, openpyxl
APIs DigiKey, Mouser, Element14, TME
Deployment Render (GitHub auto-deploy)
Config python-dotenv

Setup

git clone https://github.com/aathi1/component-search-engine
cd component-search-engine
pip install -r requirements.txt

Create .env:

DIGIKEY_CLIENT_ID=your_key
DIGIKEY_CLIENT_SECRET=your_secret
MOUSER_API_KEY=your_key
ELEMENT14_API_KEY=your_key
TME_API_TOKEN=your_token
TME_API_SECRET=your_secret

Run locally:

python app.py

API Integrations

Distributor Data Retrieved
DigiKey Price, stock, MOQ, datasheet, manufacturer
Mouser Price, stock, MOQ, datasheet
Element14 Price, stock, MOQ, datasheet
TME Price, stock, MOQ, datasheet

Disclaimer

Component information is provided by distributors via their APIs and may change without notice. This platform is independent and not affiliated with DigiKey, Mouser, Element14, or TME. All purchases are completed directly through distributor websites.


Author

Aathithyan VenkateshGitHub · LinkedIn

About

Live multi-distributor component sourcing platform

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors