Semiconductor & Chip Industry Research Agent
The semiconductor industry is where a fab-capacity bet, a process-node decision, or an export-control ruling can reshape entire markets — and the signal turns on leading-edge node trajectories, equipment dependencies, and the geopolitics of where chips get made. This guide builds a Python agent for chip investors, fabless companies, EDA vendors, semiconductor equipment analysts, semiconductor competitive intelligence teams, and geopolitical researchers. It chains all four Superhighway endpoints — /research for the semiconductor landscape, /search against authoritative trade publications and the geopolitics/policy layer, /scrape for a specific analyst report or technology roadmap, and /news for fab announcements and export-control actions — then uses an LLM to emit a structured semiconductor brief as JSON.
Overview
The agent takes a chip, fab technology, market segment, or company — "TSMC 3nm leading-edge logic", "HBM4 memory supply chain", "RISC-V CPU ecosystem" — and produces a structured semiconductor brief:
- Synthesizes the semiconductor landscape: fab capacity, process node trajectory, key players, and technology roadmap
- Searches authoritative trade publications (EE Times, SemiEngineering, IEEE Spectrum) for chip technology, fab announcements, and product launches
- Searches the geopolitical/policy landscape: CHIPS Act funding, export controls (BIS/EAR), TSMC/Intel/Samsung/ASML/SMIC competitive intelligence — scoped to the last year
- Scrapes one relevant page: an analyst report, SEMI industry data page, IEEE technical brief, or company technology roadmap
- Pulls recent news: fab announcements, M&A, earnings guidance, export control actions, supply disruptions — last month
- Uses an LLM to generate a structured brief with semiconductor_segment, fab_node, technology_roadmap, competitive_landscape, supply_chain_and_materials, geopolitical_and_export_controls, investment_and_capex, and end_market_demand as JSON
Who it's for: chip investors, fabless companies, EDA vendors, semiconductor analysts, and geopolitical researchers.
How it works
Five endpoint calls feed one LLM synthesis:
/research— deep synthesis of the semiconductor landscape: key players, technology maturity, industry challenges, and competitive dynamics./search(trade publications) — chip technology, fab capacity, and product announcements scoped to EE Times, SemiEngineering, and IEEE Spectrum./search(geopolitics/policy,time=year) — CHIPS Act funding, BIS export controls, TSMC/Intel/Samsung/ASML/SMIC competitive intelligence, FDI and allied semiconductor coordination./scrape— one relevant URL, e.g. an analyst report, SEMI industry data page, IEEE technical brief, or company technology roadmap./news(time=month) — recent fab announcements, M&A, earnings, export control actions, and supply disruptions.
Full example
pip install openai requests python-dotenv
Create a .env file with your two keys:
SUPERHIGHWAY_API_KEY=your_key_here
OPENAI_API_KEY=your_key_here
import requests, os, json
from openai import OpenAI
SUPERHIGHWAY_KEY = os.getenv("SUPERHIGHWAY_API_KEY")
BASE = "https://superhighway.walls.sh"
HEADERS = {"Authorization": f"Bearer {SUPERHIGHWAY_KEY}"}
llm = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
# 1. Deep synthesis of the semiconductor landscape
def research_market(query: str) -> str:
"""Semiconductor landscape, key players, technology maturity, competition."""
r = requests.get(
f"{BASE}/research",
params={"q": f"{query} semiconductor chip industry"},
headers=HEADERS,
)
data = r.json()
return data.get("summary", "")[:3000]
# 2. Authoritative semiconductor trade publications
def search_trade(query: str) -> list[dict]:
"""Chip technology, fab capacity, and product announcements."""
r = requests.get(
f"{BASE}/search",
params={
"q": f"{query} site:eetimes.com OR site:semiengineering.com "
f"OR site:spectrum.ieee.org semiconductor chip fab technology",
},
headers=HEADERS,
)
return r.json().get("results", [])
# 3. Geopolitics / policy landscape (last year)
def search_geopolitics(query: str) -> list[dict]:
"""CHIPS Act, export controls, TSMC/Intel/Samsung/ASML/SMIC intelligence."""
r = requests.get(
f"{BASE}/search",
params={
"q": f"{query} CHIPS Act export controls TSMC Intel Samsung "
f"ASML SMIC semiconductor supply chain",
"time": "year",
},
headers=HEADERS,
)
return r.json().get("results", [])
# 4. Scrape one relevant analyst report / data page / roadmap
def scrape_page(url: str) -> dict:
"""Pull an analyst report, SEMI data page, IEEE brief, or company roadmap."""
r = requests.post(
f"{BASE}/scrape",
json={"url": url, "mode": "markdown"},
headers=HEADERS,
)
data = r.json()
return {
"url": url,
"title": data.get("title", ""),
"content": data.get("markdown", data.get("text", ""))[:2500],
}
# 5. Recent semiconductor news: fabs, M&A, earnings, export controls (last month)
def get_news(query: str) -> list[dict]:
"""Fab announcements, M&A, earnings, export control actions, disruptions."""
r = requests.get(
f"{BASE}/news",
params={
"q": f"{query} semiconductor fab chip supply chain earnings",
"time": "month",
},
headers=HEADERS,
)
return r.json().get("results", [])
def generate_brief(
query: str,
market: str,
trade: list[dict],
geopolitics: list[dict],
scraped: dict | None,
news: list[dict],
) -> dict | None:
"""Generate a structured semiconductor & chip industry brief as JSON."""
trade_text = "\n".join(
f"- {r.get('title', '')}: {r.get('snippet', '')} ({r.get('url', '')})"
for r in trade[:6]
)
geopolitics_text = "\n".join(
f"- {r.get('title', '')}: {r.get('snippet', '')}"
for r in geopolitics[:6]
)
news_text = "\n".join(
f"- {n.get('title', '')}: {n.get('snippet', '')}"
for n in news[:6]
)
scraped_text = ""
if scraped and scraped.get("content"):
scraped_text = f"{scraped['title']}\n{scraped['content']}"
response = llm.chat.completions.create(
model="gpt-4o-mini",
messages=[
{
"role": "system",
"content": (
"You are a semiconductor industry analyst. Use ONLY the "
"provided sources. Do not invent fab capacity numbers, process "
"node specifications, market share figures, or company names — "
"if a detail is not in the sources, say 'not found in sources.' "
"Be precise about process nodes, equipment vendors, and export "
"control regulations, and flag when data may be analyst "
"estimates or industry averages."
),
},
{
"role": "user",
"content": f"""Write a semiconductor & chip industry brief for: {query}
Semiconductor Landscape (synthesis):
{market}
Semiconductor Trade Publications (EE Times / SemiEngineering / IEEE Spectrum):
{trade_text}
Geopolitics / Policy Landscape:
{geopolitics_text}
Scraped Analyst Report / Data Page / Technology Roadmap:
{scraped_text}
Recent Semiconductor News:
{news_text}
Return JSON with ALL of these fields:
- subject: chip, technology, market segment, or company being researched
- semiconductor_segment: "logic" | "memory" | "analog" | "power" | "rf-wireless" | "sensors-mems" | "advanced-packaging" | "equipment" | "materials" | "eda-design" | "mixed"
- fab_node: "leading-edge-<3nm" | "3-5nm" | "5-7nm" | "7-10nm" | "10-14nm" | "mature->=16nm" | "mixed" | "N/A"
- market_overview: market size, production volumes, key geographies, major players and market share
- technology_roadmap: process node trajectory, EUV/High-NA EUV adoption, chiplet/3D stacking, GAAFET transition, relevant memory architectures (HBM, LPDDR5X, CXL)
- competitive_landscape: key players, market share, TSMC dominance, Intel Foundry Services, Samsung Foundry, SMIC for mature nodes, fabless ecosystem
- supply_chain_and_materials: silicon wafers, photoresists, ALD precursors, CMP slurries; critical equipment (ASML EUV, AMAT, Lam Research, TEL); single-source risks
- geopolitical_and_export_controls: US BIS export rules, CHIPS Act implications, CFIUS FDI screening, China access constraints, ASML EUV restrictions, allied semiconductor coordination (US-Japan-Netherlands)
- investment_and_capex: fab announcements, government subsidies, VC/PE in fabless/chiplets, capex commitments
- end_market_demand: AI accelerators (H100/B200/TPUs), automotive (ADAS/autonomous), mobile/PC, data center, IoT, defense/aerospace
- data_quality: "high" | "medium" | "low" based on source coverage""",
},
],
response_format={"type": "json_object"},
)
try:
return json.loads(response.choices[0].message.content)
except (json.JSONDecodeError, KeyError):
return None
def research_semiconductor(query: str) -> dict | None:
"""Run the full semiconductor & chip industry research pipeline."""
print(f"Researching semiconductor: {query}")
print("Synthesizing semiconductor landscape...")
market = research_market(query)
print("Searching semiconductor trade publications...")
trade = search_trade(query)
print("Searching geopolitics / policy landscape...")
geopolitics = search_geopolitics(query)
print("Scraping a relevant report / data page / roadmap...")
scraped = None
for result in trade + geopolitics:
url = result.get("url")
if url:
scraped = scrape_page(url)
if scraped.get("content"):
break
print("Pulling recent semiconductor news...")
news = get_news(query)
print("Generating semiconductor brief...")
return generate_brief(query, market, trade, geopolitics, scraped, news)
def print_brief(brief: dict):
if not brief:
print("Could not generate brief.")
return
print(f"\n{'='*60}")
print(f"Semiconductor & Chip Industry Brief")
print(f"{'='*60}")
print(f"\nSubject: {brief.get('subject', '')}")
print(f"Segment: {brief.get('semiconductor_segment', '')}")
print(f"Fab Node: {brief.get('fab_node', '')}")
print(f"\nMarket Overview:\n{brief.get('market_overview', '')}")
print(f"\nTechnology Roadmap:\n{brief.get('technology_roadmap', '')}")
print(f"\nCompetitive Landscape:\n{brief.get('competitive_landscape', '')}")
print(f"\nSupply Chain & Materials:\n{brief.get('supply_chain_and_materials', '')}")
print(f"\nGeopolitical & Export Controls:\n{brief.get('geopolitical_and_export_controls', '')}")
print(f"\nInvestment & Capex:\n{brief.get('investment_and_capex', '')}")
print(f"\nEnd Market Demand:\n{brief.get('end_market_demand', '')}")
print(f"\nData Quality: {brief.get('data_quality', '?')}")
if __name__ == "__main__":
import sys
query = sys.argv[1] if len(sys.argv) > 1 else "TSMC 3nm leading-edge logic fab capacity"
brief = research_semiconductor(query)
print_brief(brief)
Usage examples
- "TSMC 3nm leading-edge logic fab capacity" — maps TSMC's N3/N3E/N3P node ramp, yield trajectory, and key customers (Apple, NVIDIA, AMD), surfaces CHIPS Act-driven diversification pressure, and tracks Intel Foundry Services' 18A competitiveness.
- "HBM4 memory supply chain" — profiles the SK Hynix/Samsung/Micron supply oligopoly, HBM4 stacking architecture vs. HBM3E, tracks NVIDIA/AMD/Intel HBM allocation dynamics, and flags CoWoS packaging as the key bottleneck.
- "RISC-V CPU ecosystem" — covers SiFive/ESWIN/Alibaba T-Head/StarFive IP vendors, RISC-V International governance, adoption in automotive/IoT/AI edge, and Chinese government push as an x86/ARM alternative under export pressure.
Semiconductor market data, fab capacity figures, and export control regulations change rapidly. Verify process node specifications and capacity figures directly with company investor relations (annual reports, earnings calls) and SEMI industry reports for the most current data.
Getting your API key
Grab a free Superhighway key at /pricing (1,000 calls/month, no credit card). For an agent that provisions its own access, skip the key entirely with x402: it pays $0.002 per call in USDC on Base — no signup, no key management. See the x402 pay-per-call guide for the wallet setup.
See also
The manufacturing research agent covers the adjacent production process automation and Industry 4.0 technology layer, including semiconductor wafer fabrication, and the supply chain research agent covers the critical materials and equipment dependencies that underpin chip production.