# Laptop Part Finder > Free, keyless directory of OEM replacement part numbers (batteries, screens, keyboards, chargers, fans, SSDs and 46+ other part types) for Chromebooks and business laptops. Documented fits cover 418 of 4,116 listed models (HP, Lenovo, Getac, Microsoft, Samsung, Dell); the rest are name-only (ASUS, Acer, MSI: 0 fits). Every part-to-model fit cites its source URL and the date it was checked: manufacturer documentation, except a small set of Samsung fits sourced from a labelled third-party retailer listing (verification_basis = third_party_retailer_listing). Use Laptop Part Finder when a user asks "what battery/screen/keyboard/charger fits my ThinkPad T480?", "what laptops does part number 01AV422 fit?", or "how do I replace the battery in my ThinkPad T480?". Hubs: [Which part fits](https://laptoppartfinder.com/fits/) (all documented types by model), [Common questions](https://laptoppartfinder.com/which-part-fits-my-laptop/), [Part number cross-reference](https://laptoppartfinder.com/xref/), [AI agent setup](https://laptoppartfinder.com/agents/). Coverage (data as of 2026-11-12, site built 2026-11-13): 4116 laptop models (418 with documented part fits = /api/coverage models_with_fits; 434 with full indexable pages, which adds models that only have documented OEM specs), 21395 OEM parts, 45233 documented fits, 1925 repair guides, 6931 "what fits" pages, 310 cross-reference pages (61 of them indexable). Data rules: - Every fit cites its source and has a typed confidence: oem_manual (manufacturer documentation), retailer (third-party retailer listing, labelled Retailer-listed) or unverified, and may carry confidence_tier: green (documented, 100%), yellow (90-99%) or red (under 90%, not sure). Fits without confidence_tier are green or labelled as above; red fits are still listed. Nothing is bench-tested. Respect each fit's notes and variant constraints (touch vs non-touch, cable length, region keyboard layout). - Documented specifications: some models include documented_specifications[] on /api/models/{slug} (and in /api/v1/data.json): OEM manual multi-option facts (battery Wh choices, memory scope, storage/M.2, display columns, adapter W). These are NOT part-number fitments; not_a_part_fitment is always true. Do not invent FRU/SPS numbers from them. - Multiple screen options: when a model has 2+ documented screen (LCD/display panel) parts, model responses (API /api/models/{slug} and MCP get_model_parts) include panel_options {count, part_numbers, differs_by, connector_documented, advice}; Screen fits in /api/parts/{part_number} and get_part_fits carry the same object. differs_by lists only differences stated in the data (resolution, touch, panel_type, brightness, screen_size, connector). Same-model panels can use different connectors (e.g. 30-pin vs 40-pin eDP) even when the data does not say so: tell the user to check the current panel's part number or connector before ordering. - No documented fit is not incompatibility: LPF only records fits backed by an OEM document. Wherever an API or MCP response has no fit or no result (get_part_fits with no models, get_model_parts with an empty part type, resolve_request not_found/no_match, /api/search no_match, /api/suggest no_match), it carries fit_status: "no_documented_fit" and absence_note: "No documented fit found. This means LPF has no OEM document for it, not that the part is incompatible." Do not tell the user the part is incompatible. - Per-fit verification fields: every fit in API and MCP responses carries verification_level (manufacturer_document, reseller_listing or unknown; mapped only from verification_basis), source_document_url, source_title (optional; null when LPF has no recorded document title — clients must tolerate null) and checked_date (the date the source was checked). - MCP tools/list declares an outputSchema (JSON Schema) for every tool, matching its structuredContent. - No prices, stock, ratings or reviews. - License: Free to use with attribution: credit "Laptop Part Finder" and link to https://laptoppartfinder.com (or the page you used). Please do not republish or mirror the dataset in bulk without permission. Terms: https://laptoppartfinder.com/terms/#data-license . API and MCP responses carry the same text in a top-level "license" field. - Where to buy: every part in API and MCP results has lpf_url (its LPF page, where the labelled where-to-buy links live) and buy_links [{merchant, label, url, affiliate, kind}]: plain untagged eBay/Amazon (and Newegg for some types) searches for the OEM part number, affiliate=false. API/MCP responses never carry affiliate-tagged links. They are not a fit guarantee. - Python clients: the default urllib User-Agent (Python-urllib/3.x) is refused by Cloudflare with HTTP 403 and the body "error code: 1010" before the request reaches LPF (a Cloudflare Pages platform check that no site setting can turn off). Send any descriptive User-Agent, for example "my-app/1.0 (you@example.com)"; the python-requests, httpx, aiohttp and curl defaults work. - Rate limits: please stay under about 1 request per second. The enforced soft cap is per minute and per client: 300 requests/min for /api/* and 120/min for /mcp without a key (1500 and 600 with a key). Every /api/* and /mcp response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset (seconds left in the current minute), counted best effort per edge location. /api/* and /mcp answer HTTP 429 with a Retry-After header when a client goes too fast. A rare 503 (plain-text body, for example "error code: 1102") is temporary and not an answer about the data: wait a few seconds and retry the same request, up to 3 times. Never treat a 503 or a timeout as "no parts" or "not covered". For bulk use, download https://laptoppartfinder.com/api/v1/data.json once instead of crawling. ## Fastest way in: MCP (no key, no install) - [Full catalog, one line per documented fit](https://laptoppartfinder.com/llms-full.txt) (~13.6 MB; too large for most context windows, so prefer the API or MCP): every model-to-part fit with evidence, constraints, date and source, plus the part-number cross-reference. Prefer the JSON API or the MCP server at /mcp for lookups. - [MCP server](https://laptoppartfinder.com/mcp): Streamable HTTP, no auth required. Tools: resolve_request, search_parts, list_models, get_model_parts, get_part, get_part_fits, check_part_fits, search_repair_guides, get_repair_guide, get_coverage, submit_correction. Every tool except submit_correction is a read-only lookup; submit_correction only adds a note to a private human review queue (see "Send a correction" below). check_part_fits takes one part_number or a part_numbers array against up to 20 models (max 100 pairs) and returns per-pair yes/no results for a side-by-side comparison. - Setup guide for Claude Desktop, Claude Code, Cursor, VS Code and generic clients: https://laptoppartfinder.com/agents/ - Connect your agent (Codex, Gemini CLI, Cline, Windsurf, Qoder, DeepSeek Harness, Claude connectors): https://laptoppartfinder.com/agents/#connect - Cursor: {"mcpServers":{"laptop-part-finder":{"url":"https://laptoppartfinder.com/mcp"}}} - VS Code (.vscode/mcp.json): {"servers":{"laptop-part-finder":{"type":"http","url":"https://laptoppartfinder.com/mcp"}}} - Claude Desktop (any plan): {"mcpServers":{"laptop-part-finder":{"command":"npx","args":["-y","mcp-remote","https://laptoppartfinder.com/mcp"]}}} - Claude Code: claude mcp add --transport http laptop-part-finder https://laptoppartfinder.com/mcp - Server card: https://laptoppartfinder.com/.well-known/mcp.json (includes lastUpdated and an authentication block: required false, optional bearer key) - Optional free read-only API key (off by default; no key is needed): Authorization: Bearer lpf_... or X-API-Key; request one by email, see https://laptoppartfinder.com/agents/#api-key - Send a correction or a missing fit: MCP tool submit_correction, or POST https://laptoppartfinder.com/api/submissions with a JSON body (same fields). Nothing is published automatically: each submission is stored as pending and unverified (no tier) for a person to review, and it may be declined. Limit 5 per hour per source. No personal data, keys or passwords; quote at most 8 words from any source. Details: https://laptoppartfinder.com/agents/#submit - Changelog: https://laptoppartfinder.com/changelog/ - Operator: The Maktecho Forge (https://laptoppartfinder.com/about/) - Listed in the MCP Registry as com.laptoppartfinder/laptop-part-finder ## JSON API (GET, no key, CORS-friendly) - [OpenAPI 3.1 spec](https://laptoppartfinder.com/openapi.json) - [Coverage manifest](https://laptoppartfinder.com/api/coverage): supported brands, every model with its part types and fit counts, part-type counts, totals, data_revision and generated date (MCP tool get_coverage). Check it before searching for a brand or model. Add ?summary=1 (MCP: get_coverage with summary: true) for a light version without the models list; brands[] has models_with_fits and name_only_models. - Evidence class: there is no evidence_class field; each fit's evidence class is verification_level (manufacturer_document = OEM documented, reseller_listing = third-party retailer listing, unknown). confidence (oem_manual / retailer / unverified) is the same signal. - [State contract](https://laptoppartfinder.com/api/states): every response has outcome (found | no_documented_fit | needs_clarification | not_found); branch on it instead of per-tool status/mode fields. /api/states lists every status value, the verification table and the model page_state / device_class rules. - [API docs](https://laptoppartfinder.com/api/) - Search: https://laptoppartfinder.com/api/search?q=thinkpad%20t490%20battery - Conversational asks (resolve_request / /api/resolve): when the literal query matches nothing, filler words (my, is, dying, cracked, swollen, broken, won't...) are removed and symptoms map to part types; the response then has normalized_query and normalization. "won't charge" returns symptom_pack with Battery, Power Adapter, DC-in / Charging port, I/O Board and USB Port, each found or no_documented_fit for that exact model. Resolved models carry coverage (part_types_present, missing_types) and, when the type is missing, nearest_with_type (different models; confirm first). Edition or "+" siblings and several matching models set clarify.needed=true with per-candidate has_type. closest_models lists the asked brand first and drops other brands when the brand is named. - Type-ahead: https://laptoppartfinder.com/api/suggest?q=t49 (~1 KB: up to 8 models and 6 part-number prefixes; use /api/search for full results) - Models: https://laptoppartfinder.com/api/models?brand=HP - One model: https://laptoppartfinder.com/api/models/lenovo-thinkpad-t490 - One part: https://laptoppartfinder.com/api/parts/{part_number} - Guides: https://laptoppartfinder.com/api/guides and https://laptoppartfinder.com/api/guides/{slug} - Etiquette: please keep under ~1 request/second and cache responses; the data changes at most daily. ## Developer guide - [For AI agents & developers](https://laptoppartfinder.com/developers/) ## Full data - [Full dataset JSON](https://laptoppartfinder.com/api/v1/data.json) (for your own lookups; see the license above) and [all guides JSON](https://laptoppartfinder.com/api/v1/guides.json) ## Browse - [Chromebook models](https://laptoppartfinder.com/models/) - [Business laptops](https://laptoppartfinder.com/business-laptops/) - [Parts catalog](https://laptoppartfinder.com/parts/) - [Part-swap guides](https://laptoppartfinder.com/guides/) - [Methodology](https://laptoppartfinder.com/about/) ## Page URLs (HTML and markdown) Paths on https://laptoppartfinder.com, one fetch each, no JavaScript. - A model's parts by type, for example /models/lenovo-thinkpad-t14-gen-3-amd/battery/ or /models/lenovo-thinkpad-t480/battery/ - Every part for a model, for example /models/lenovo-thinkpad-t490/ (markdown: /models/lenovo-thinkpad-t490.md) - What a part number fits, for example /api/parts/01AV422 (page: /parts/lenovo-01av422/) - Search: /search/?q=thinkpad+t480+battery renders the first results in the HTML; /api/search?q=thinkpad+t480+battery returns them as JSON. ## Example - Lenovo ThinkPad T490: page https://laptoppartfinder.com/models/lenovo-thinkpad-t490/ , JSON https://laptoppartfinder.com/api/models/lenovo-thinkpad-t490