eosl.ai ›
Developers

Use EOSL.ai data in your own tools

Every end-of-sale and end-of-service-life date on EOSL.ai is available outside the site: a JSON API, a live MCP server for AI assistants, published NetBox, Ansible and Snipe-IT integrations, spreadsheet cells, calendar and change feeds. No key, no login, CORS-open, and every date carries the vendor bulletin it came from. Please cache and attribute EOSL.ai.

Quick starts

Check one part from anything that speaks HTTP
curl https://eosl.ai/cell/ws-c3850-24t-l.txt
Give an AI assistant the database
claude mcp add --transport http eosl https://eosl.ai/mcp
Audit a whole inventory in one request
curl https://eosl.ai/data/lookup.json

Endpoints

GET /api/v1/families.jsonIndex of every tracked product family — slug, vendor, series, category, status, EOSL, and detail URL.
GET /api/v1/family/{slug}.jsonFull detail for one family: every SKU group with end-of-sale, EOSL, source bulletin URL, last-verified date, replacement and part numbers.
GET /api/usageAggregate usage of these machine surfaces — which kinds of client called which endpoint on how many days. No IP addresses, no emails, no request counts (read the note field before quoting any figure). Part-level sightings exist but are not published.
POST /api/registerIssues a free, optional API key instantly — see below. The key gates nothing; it attributes your usage to you.
GET /data/lookup.jsonCompact part-number → status map that powers the bulk checker.
GET /cell/{part}.txtOne-line plaintext status for a part number — made for spreadsheets: Google Sheets =IMPORTDATA("https://eosl.ai/cell/ws-c3850-24t-l.txt"), Excel on Windows =WEBSERVICE(…). Comma-free by design so Sheets keeps it in one cell. For whole inventories use lookup.json instead (Sheets caps IMPORTDATA calls per sheet).
GET /badge/{slug}.svgLive status badge image for a family (see the badge builder).
POST /mcpLive MCP server for AI agents — five lookup tools over this same data (see the MCP docs).
GET /dataset/eosl.csvThe whole database as one open CSV/JSON download, CC BY 4.0 (see the dataset page).

Example — /api/v1/family/cisco-catalyst-3850.json

{
  "slug": "cisco-catalyst-3850",
  "vendor": "Cisco",
  "line": "Catalyst",
  "series": "3850 Series",
  "category": "Stackable access switch",
  "generalAvailability": "2013-01",
  "url": "https://eosl.ai/system/cisco-catalyst-3850/",
  "badge": "https://eosl.ai/badge/cisco-catalyst-3850.svg",
  "status": {
    "key": "mixed",
    "label": "Mixed — varies by part number",
    "monthsToEosl": -12
  },
  "lifecycle": {
    "status": "mixed",
    "supportedPartCount": 65,
    "unsupportedPartCount": 83,
    "earliestEosl": "2025-10",
    "latestEosl": "2027-04",
    "exactPartRequired": true
  },
  "supportRunwayScore": {
    "score": 22,
    "band": "Little or no runway",
    "factors": [
      "Past end of service life — 12 months ago",
      "Vendor-published date, source-linked",
      "Mixed status across SKU groups — some past EOSL, some still supported",
      "Vendor-named replacement / migration path available",
      "Category: stackable access switch"
    ],
    "methodology": "https://eosl.ai/methodology/exposure-score/"
  },
  "exposureScore": {
    "score": 22,
    "band": "Little or no runway",
    "factors": [
      "Past end of service life — 12 months ago",
      "Vendor-published date, source-linked",
      "Mixed status across SKU groups — some past EOSL, some still supported",
      "Vendor-named replacement / migration path available",
      "Category: stackable access switch"
    ],
    "methodology": "https://eosl.ai/methodology/exposure-score/",
    "note": "legacy alias of supportRunwayScore — same number, higher = more support runway"
  },
  "skuCount": 148,
  "skuGroups": [
    {
      "label": "Copper SKUs",
      "endOfSale": "2020-10",
      "endOfServiceLife": "2025-10",
      "eoslComputed": false,
      "active": false,
      "lastFirmware": "IOS XE 16.12.x",
      "lastServiceExtension": null,
      "sourceUrl": "https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-3850-series-switches/eos-eol-notice-c51-743072.html",
      "policyUrl": null,
      "lastVerified": "2026-09",
      "replacement": "Cisco Catalyst 9300 Series",
      "skus": [
        {
          "partNumber": "WS-C3850-24T-L",
          "description": null,
          "replacement": "C9300-24T-E"
        },
        {
          "partNumber": "WS-C3850-24T-S",
          "description": null,
          "replacement": "C9300-24T-A"
        },
        {
          "partNumber": "WS-C3850-24T-E",
          "description": null,
          "replacement": "C9300-24T-A"
        },
        {
          "partNumber": "WS-C3850-48T-L",
          "description": null,
          "replacement": "C9300-48T-E"
        },
        {
          "partNumber": "WS-C3850-48T-S",
          "description": null,
          "replacement": "C9300-48T-A"
        },
        {
          "partNumber": "WS-C3850-48T-E",
          "description": null,
          "replacement": "C9300-48T-A"
        },
        {
          "partNumber": "WS-C3850-24P-L",
          "description": null,
          "replacement": "C9300-24P-E"
        },
        {
          "partNumber": "WS-C3850-24P-S",
          "description": null,
          "replacement": "C9300-24P-A"
        },
        {
          "partNumber": "WS-C3850-24P-E",
          "description": null,
          "replacement": "C9300-24P-A"
        },
        {
          "partNumber": "WS-C3850-48P-L",
          "description": null,
          "replacement": "C9300-48P-E"
        },
        {
          "partNumber": "WS-C3850-48P-S",
          "description": null,
          "replacement": "C9300-48P-A"
        },
        {
          "partNumber": "WS-C3850-48P-E",
          "description": null,
          "replacement": "C9300-48P-A"
        },
        {
          "partNumber": "WS-C3850-48F-L",
          "description": null,
          "replacement": "C9300-48P-E"
        },
        {
          "partNumber": "WS-C3850-48F-S",
          "description": null,
          "replacement": "C9300-48P-A"
        },
        {
          "partNumber": "WS-C3850-48F-E",
          "description": null,
          "replacement": "C9300-48P-A"
        },
        {
          "partNumber": "WS-C3850-24U-L",
          "description": null,
          "replacement": "C9300-24U-E"
        },
        {
          "partNumber": "WS-C3850-24U-S",
          "description": null,
          "replacement": "C9300-24U-A"
        },
        {
          "partNumber": "WS-C3850-24U-E",
          "description": null,
          "replacement": "C9300-24U-A"
        },
        {
          "partNumber": "WS-C3850-48U-L",
          "description": null,
          "replacement": "C9300-48U-E"
        },
        {
          "partNumber": "WS-C3850-48U-S",
          "description": null,
          "replacement": "C9300-48U-A"
        },
        {
          "partNumber": "WS-C3850-48U-E",
          "description": null,
          "replacement": "C9300-48U-A"
        },
        {
          "partNumber": "WS-C3850-12X48U-L",
          "description": null,
          "replacement": "C9300-48UXM-E"
        },
        {
          "partNumber": "WS-C3850-12X48U-S",
          "description": null,
          "replacement": "C9300-48UXM-A"
        },
        {
          "partNumber": "WS-C3850-12X48U-E",
          "description": null,
          "replacement": "C9300-48UXM-A"
        },
        {
          "partNumber": "WS-C3850-24XU-L",
          "description": null,
          "replacement": "C9300-24U-E"
        },
        {
          "partNumber": "WS-C3850-24XU-S",
          "description": null,
          "replacement": "C9300-24U-A"
        },
        {
          "partNumber": "WS-C3850-24XU-E",
          "description": null,
          "replacement": "C9300-24U-A"
        },
        {
          "partNumber": "C1-WSC3850-12X48UL",
          "description": null,
          "replacement": "C9300-48UXM-A"
        },
        {
          "partNumber": "C1-WSC3850-24XUL",
          "description": null,
          "replacement": "C9300-24UX-A"
        },
        {
          "partNumber": "C1-WS3850-24P",
          "description": "Cisco One Catalyst 3850 24 Port PoE",
          "replacement": "C9300-24P-A"
        },
        {
          "partNumber": "C1-WS3850-24T",
          "description": "Cisco One Catalyst 3850 24 Port Data",
          "replacement": "C9300-24T-A"
        },
        {
          "partNumber": "C1-WS3850-24U",
          "description": "Cisco One Catalyst 3850 24 Port UPoE",
          "replacement": "C9300-24U-A"
        },
        {
          "partNumber": "C1-WS3850-48F",
          "description": "Cisco One Catalyst 3850 48 Port Full PoE",
          "replacement": "C9300-48P-A"
        },
        {
          "partNumber": "C1-WS3850-48P",
          "description": "Cisco One Catalyst 3850 48 Port PoE",
          "replacement": "C9300-48P-A"
        },
        {
          "partNumber": "C1-WS3850-48T",
          "description": "Cisco One Catalyst 3850 48 Port Data",
          "replacement": "C9300-48T-A"
        },
        {
          "partNumber": "C1-WS3850-48U",
          "description": "Cisco One Catalyst 3850 48 Port UPoE",
          "replacement": "C9300-48U-A"
        },
        {
          "partNumber": "CDB-3850-24U-L",
          "description": "Cisco Digital Building Catalyst 3850 24 Port UPOE Bundle",
          "replacement": "CDB-8U"
        },
        {
          "partNumber": "CDB-3850-48U-L",
          "description": "Cisco Digital Building Catalyst 3850 48 Port UPOE Bundle",
          "replacement": "CDB-8U"
        },
        {
          "partNumber": "WS-C3850-12X48U-EJ",
          "description": "Cisco Catalyst 3850 48 Port (12 mGig+36 Gig) UPoE IPS-Japan",
          "replacement": "C9300-48UXM-A"
        },
        {
          "partNumber": "WS-C3850-12X48U-LJ",
          "description": "Cisco Catalyst 3850 48 Port (12 mGig+36 Gig) UPoE LB-Japan",
          "replacement": "C9300-48UXM-E"
        },
        {
          "partNumber": "WS-C3850-12X48U-SJ",
          "description": "Cisco Catalyst 3850 48 Port (12 mGig+36 Gig) UPoE IPB-Japan",
          "replacement": "C9300-48UXM-A"
        },
        {
          "partNumber": "WS-C3850-12X48UW-S",
          "description": "Cisco Catalyst 3850 48 port(12 mGig) UPOE IPB with 5 AP Lic",
          "replacement": "C9300-48UXM-A"
        },
        {
          "partNumber": "WS-C3850-24P-BA",
          "description": "Cisco Catalyst 3850 24 Port PoE IP Services",
          "replacement": "C9300-24P-A"
        },
        {
          "partNumber": "WS-C3850-24P-E-BR",
          "description": "Cisco Catalyst 3850 24 Port PoE IP Services",
          "replacement": "C9300-24P-A-BR"
        },
        {
          "partNumber": "WS-C3850-24P-L-BR",
          "description": "Cisco Catalyst 3850 24 Port PoE LAN Base",
          "replacement": "C9300-24P-E-BR"
        },
        {
          "partNumber": "WS-C3850-24P-S-BR",
          "description": "Cisco Catalyst 3850 24 Port PoE IP Base",
          "replacement": "C9300-24P-A-BR"
        },
        {
          "partNumber": "WS-C3850-24PW-S",
          "description": "Cisco Catalyst 3850 24 Port PoE with 5 AP license IP Base",
          "replacement": "C9300-24P-A"
        },
        {
          "partNumber": "WS-C3850-24T-BA",
          "description": "Cisco Catalyst 3850 24 Port Data IP Services",
          "replacement": "C9300-24T-A"
        },
        {
          "partNumber": "WS-C3850-24T-E-BR",
          "description": "Cisco Catalyst 3850 24 Port Data IP Services",
          "replacement": "C9300-24T-A-BR"
        },
        {
          "partNumber": "WS-C3850-24T-L-BR",
          "description": "Cisco Catalyst 3850 24 Port Data LAN Base",
          "replacement": "C9300-24T-E-BR"
        },
        {
          "partNumber": "WS-C3850-24T-S-BR",
          "description": "Cisco Catalyst 3850 24 Port Data IP Base",
          "replacement": "C9300-24T-A-BR"
        },
        {
          "partNumber": "WS-C3850-24UW-S",
          "description": "Cisco Catalyst 3850 24 Port UPOE with 5 AP licenses IP Base",
          "replacement": "C9300-24U-A"
        },
        {
          "partNumber": "WS-C3850-24XU-EJ",
          "description": "Cisco Catalyst 3850 24 mGig Port UPoE IP Services-Japan",
          "replacement": "C9300-24U-A"
        },
        {
          "partNumber": "WS-C3850-24XU-LJ",
          "description": "Cisco Catalyst 3850 24 mGig Port UPoE LAN Base-Japan",
          "replacement": "C9300-24U-E"
        },
        {
          "partNumber": "WS-C3850-24XU-SJ",
          "description": "Cisco Catalyst 3850 24 mGig Port UPoE IP Base-Japan",
          "replacement": "C9300-24U-A"
        },
        {
          "partNumber": "WS-C3850-24XUW-S",
          "description": "Cisco Catalyst 3850 24 mGig Port UPOE IP Base 5 AP License",
          "replacement": "C9300-24U-A"
        },
        {
          "partNumber": "WS-C3850-48F-BA",
          "description": "Cisco Catalyst 3850 48 Port Full PoE IP Services",
          "replacement": "C9300-48P-A"
        },
        {
          "partNumber": "WS-C3850-48F-E-BR",
          "description": "Cisco Catalyst 3850 48 Port Full PoE IP Services",
          "replacement": "C9300-48P-A-BR"
        },
        {
          "partNumber": "WS-C3850-48F-L-BR",
          "description": "Cisco Catalyst 3850 48 Port Full PoE LAN Base",
          "replacement": "C9300-48P-E-BR"
        },
        {
          "partNumber": "WS-C3850-48F-S-BR",
          "description": "Cisco Catalyst 3850 48 Port Full PoE IP Base",
          "replacement": "C9300-48P-A-BR"
        },
        {
          "partNumber": "WS-C3850-48P-E-BR",
          "description": "Cisco Catalyst 3850 48 Port PoE IP Services",
          "replacement": "C9300-48P-A-BR"
        },
        {
          "partNumber": "WS-C3850-48P-L-BR",
          "description": "Cisco Catalyst 3850 48 Port PoE LAN Base",
          "replacement": "C9300-48P-E-BR"
        },
        {
          "partNumber": "WS-C3850-48P-S-BR",
          "description": "Cisco Catalyst 3850 48 Port PoE IP Base",
          "replacement": "C9300-48P-A-BR"
        },
        {
          "partNumber": "WS-C3850-48PW-S",
          "description": "Cisco Catalyst 3850 48 Port Full PoE w/ 5 AP license IP Base",
          "replacement": "C9300-48P-A"
        },
        {
          "partNumber": "WS-C3850-48PW-SZ",
          "description": "Cisco Catalyst 3850 48 Port Full PoE w/ 5 AP license IP Base",
          "replacement": "C9300-48P-A"
        },
        {
          "partNumber": "WS-C3850-48T-BA",
          "description": "Cisco Catalyst 3850 48 Port Data IP Services",
          "replacement": "C9300-48T-A"
        },
        {
          "partNumber": "WS-C3850-48T-E-BR",
          "description": "Cisco Catalyst 3850 48 Port Data IP Services",
          "replacement": "C9300-48T-A-BR"
        },
        {
          "partNumber": "WS-C3850-48T-L-BR",
          "description": "Cisco Catalyst 3850 48 Port Data LAN Base",
          "replacement": "C9300-48T-E-BR"
        },
        {
          "partNumber": "WS-C3850-48T-S-BR",
          "description": "Cisco Catalyst 3850 48 Port Data IP Base",
          "replacement": "C9300-48T-A-BR"
        },
        {
          "partNumber": "WS-C3850-48UW-S",
          "description": "Cisco Catalyst 3850 48 Port UPOE with 5 AP licenses IP Base",
          "replacement": "C9300-48U-A"
        },
        {
          "partNumber": "WS-C3850-48W-S",
          "description": "Cisco Catalyst 3850 48 Port PoE with 5 AP licenses IP Base",
          "replacement": "C9300-48P-A"
        },
        {
          "partNumber": "WS-C3850R-24T-E",
          "description": "Cisco Catalyst 3850 24 Port Data IP Services, Russia",
          "replacement": "C9300-24T-A"
        },
        {
          "partNumber": "WS-C3850R-24T-L",
          "description": "Cisco Catalyst 3850 24 Port Data LAN Base, Russia",
          "replacement": "C9300-24T-E"
        },
        {
          "partNumber": "WS-C3850R-24T-S",
          "description": "Cisco Catalyst 3850 24 Port Data IP Base, Russia",
          "replacement": "C9300-24T-A"
        },
        {
          "partNumber": "WS-C3850R-48P-E",
          "description": "Cisco Catalyst 3850 48 Port PoE IP Service, Russia",
          "replacement": "C9300-48P-A"
        },
        {
          "partNumber": "WS-C3850R-48P-L",
          "description": "Cisco Catalyst 3850 48 Port PoE LAN Base, Russia",
          "replacement": "C9300-48P-E"
        },
        {
          "partNumber": "WS-C3850R-48P-S",
          "description": "Cisco Catalyst 3850 48 Port PoE IP Base, Russia",
          "replacement": "C9300-48P-A"
        },
        {
          "partNumber": "WS-C3850R-48T-E",
          "description": "Cisco Catalyst 3850 48 Port Data IP Services, mfg in Russia",
          "replacement": "C9300-48T-A"
        },
        {
          "partNumber": "WS-C3850R-48T-L",
          "description": "Cisco Catalyst 3850 48 Port Data LAN Base, Russia",
          "replacement": "C9300-48T-E"
        },
        {
          "partNumber": "WS-C3850R-48T-S",
          "description": "Cisco Catalyst 3850 48 Port Data IP Base, Russia",
          "replacement": "C9300-48T-A"
        },
        {
          "partNumber": "WS-C3850R-48U-E",
          "description": "Cisco Catalyst 3850 48 Port UPOE IP Service, mfg in Russia",
          "replacement": "C9300-48U-A"
        },
        {
          "partNumber": "WS-C3850R-48U-L",
          "description": "Cisco Catalyst 3850 48 Port UPOE LAN Base, Russia",
          "replacement": "C9300-48U-E"
        },
        {
          "partNumber": "WS-C3850R-48U-S",
          "description": "Cisco Catalyst 3850 48 Port UPOE IP Base, Russia",
          "replacement": "C9300-48U-A"
        }
      ]
    },
    {
      "label": "Fiber (SFP/SFP+) SKUs",
      "endOfSale": "2022-04",
      "endOfServiceLife": "2027-04",
      "eoslComputed": false,
      "active": false,
      "lastFirmware": "IOS XE 16.12.x",
      "lastServiceExtension": null,
      "sourceUrl": "https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-3850-series-switches/eos-eol-notice-c51-2438804.html",
      "policyUrl": null,
      "lastVerified": "2026-09",
      "replacement": "Cisco Catalyst 9300/9300X and 9500",
      "skus": [
        {
          "partNumber": "WS-C3850-12S-E",
          "description": null,
          "replacement": "C9300-24S"
        },
        {
          "partNumber": "WS-C3850-12S-S",
          "description": null,
          "replacement": "C9300-24S"
        },
        {
          "partNumber": "WS-C3850-12XS-E",
          "description": null,
          "replacement": "C9300X-12Y"
        },
        {
          "partNumber": "WS-C3850-12XS-S",
          "description": null,
          "replacement": "C9300X-12Y"
        },
        {
          "partNumber": "WS-C3850-16XS-E",
          "description": null,
          "replacement": "C9300X-12Y"
        },
        {
          "partNumber": "WS-C3850-16XS-S",
          "description": null,
          "replacement": "C9300X-12Y"
        },
        {
          "partNumber": "WS-C3850-24S-E",
          "description": null,
          "replacement": "C9300-24S"
        },
        {
          "partNumber": "WS-C3850-24S-S",
          "description": null,
          "replacement": "C9300-24S"
        },
        {
          "partNumber": "WS-C3850-24XS-E",
          "description": null,
          "replacement": "C9300X-24Y"
        },
        {
          "partNumber": "WS-C3850-24XS-S",
          "description": null,
          "replacement": "C9300X-24Y"
        },
        {
          "partNumber": "WS-C3850-32XS-E",
          "description": null,
          "replacement": "C9300X-24Y"
        },
        {
          "partNumber": "WS-C3850-32XS-S",
          "description": null,
          "replacement": "C9300X-24Y"
        },
        {
          "partNumber": "WS-C3850-48XS-E",
          "description": null,
          "replacement": "C9500-48Y4C"
        },
        {
          "partNumber": "WS-C3850-48XS-F-E",
          "description": null,
          "replacement": "C9500-48Y4C"
        },
        {
          "partNumber": "WS-C3850-48XS-F-S",
          "description": null,
          "replacement": "C9500-48Y4C"
        },
        {
          "partNumber": "WS-C3850-48XS-S",
          "description": null,
          "replacement": "C9500-48Y4C"
        },
        {
          "partNumber": "C1-WS3850-12XS-S",
          "description": null,
          "replacement": "C9300X-12Y"
        },
        {
          "partNumber": "C1-WSC3850-24XS-S",
          "description": null,
          "replacement": "C9300X-24Y"
        },
        {
          "partNumber": "C1-WSC3850-48XS-FS",
          "description": null,
          "replacement": "C9500-48Y4C"
        },
        {
          "partNumber": "C1-WSC3850-48XS-S",
          "description": null,
          "replacement": "C9500-48Y4C"
        },
        {
          "partNumber": "C1-WS3850-12S",
          "description": "Cisco One Catalyst 3850 12 Port Fiber Switch",
          "replacement": null
        },
        {
          "partNumber": "C1-WS3850-24S",
          "description": "Cisco One Catalyst 3850 24 Port Fiber Switch",
          "replacement": null
        },
        {
          "partNumber": "C3850-12S-E",
          "description": "Catalyst 3850 12 Port GE SFP IP Services TAA",
          "replacement": null
        },
        {
          "partNumber": "C3850-12S-S",
          "description": "Catalyst 3850 12 Port GE SFP IP Base TAA",
          "replacement": null
        },
        {
          "partNumber": "C3850-12XS-E",
          "description": "Catalyst 3850 12 Port 10G Fiber Switch IP Services TAA",
          "replacement": null
        },
        {
          "partNumber": "C3850-12XS-S",
          "description": "Catalyst 3850 12 Port 10G Fiber Switch IP Base TAA",
          "replacement": null
        },
        {
          "partNumber": "C3850-16XS-S",
          "description": "Cisco Catalyst 3850 16 Port 10G Fiber Switch IP Base TAA",
          "replacement": null
        },
        {
          "partNumber": "C3850-24S-E",
          "description": "Catalyst 3850 24 Port GE SFP IP Services TAA",
          "replacement": null
        },
        {
          "partNumber": "C3850-24S-S",
          "description": "Catalyst 3850 24 Port GE SFP IP Base TAA",
          "replacement": null
        },
        {
          "partNumber": "C3850-24XS-E",
          "description": "Catalyst 3850 24 Port 10G Fiber Switch IP Services TAA",
          "replacement": "C9300X-24Y"
        },
        {
          "partNumber": "C3850-24XS-S",
          "description": "Catalyst 3850 24 Port 10G Fiber Switch IP Base TAA",
          "replacement": null
        },
        {
          "partNumber": "C3850-32XS-E",
          "description": "Cisco Catalyst 3850 32 Port 10G Fiber Switch IP Services TAA",
          "replacement": "C9300X-24Y"
        },
        {
          "partNumber": "C3850-32XS-S",
          "description": "Cisco Catalyst 3850 32 Port 10G Fiber Switch IP Base TAA",
          "replacement": null
        },
        {
          "partNumber": "C3850-48XS-E",
          "description": "Catalyst 3850 48 Port 10G Fiber Switch IP Services TAA",
          "replacement": null
        },
        {
          "partNumber": "C3850-48XS-F-E",
          "description": "Catalyst 3850 48 Port 10G Fiber Switch IP Services TAA",
          "replacement": null
        },
        {
          "partNumber": "C3850-48XS-F-S",
          "description": "Catalyst 3850 48 Port 10G Fiber Switch IP Base TAA",
          "replacement": "C9500-48Y4C"
        },
        {
          "partNumber": "C3850-48XS-S",
          "description": "Catalyst 3850 48 Port 10G Fiber Switch IP Base TAA",
          "replacement": "C9500-48Y4C"
        },
        {
          "partNumber": "C3850-4PT-KIT",
          "description": "Cisco Catalyst 3850 4 Point rack mount kit",
          "replacement": null
        },
        {
          "partNumber": "C3850-ACC-KIT",
          "description": "Cisco Catalyst 3850 Accessory kit with 19 inch rack mount",
          "replacement": null
        },
        {
          "partNumber": "C3850-NM-2-10G",
          "description": "Cisco Catalyst 3850 2 x 10GE Network Module",
          "replacement": "C9300-NM-8X"
        },
        {
          "partNumber": "C3850-NM-2-40G",
          "description": "Cisco Catalyst 3850 2 x 40GE Network Module",
          "replacement": "C9300X-NM-2C"
        },
        {
          "partNumber": "C3850-NM-4-10G",
          "description": "Cisco Catalyst 3850 4 x 10GE Network Module",
          "replacement": "C9300X-NM-8Y"
        },
        {
          "partNumber": "C3850-NM-4-1G",
          "description": "Cisco Catalyst 3850 4 x 1GE Network Module",
          "replacement": "C9300-NM-4G"
        },
        {
          "partNumber": "C3850-NM-8-10G",
          "description": "Cisco Catalyst 3850 8 x 10GE Network Module",
          "replacement": "C9300X-NM-8Y"
        },
        {
          "partNumber": "C3850-NM-BLANK",
          "description": "Cisco Catalyst 3850 Network Module Blank",
          "replacement": null
        },
        {
          "partNumber": "C3850-RACK-KIT",
          "description": "Cisco Catalyst 3850 19, 23, 24 inch and ETSI rack mount kit",
          "replacement": null
        },
        {
          "partNumber": "FAN-T3-F",
          "description": "Catalyst 3850 Type 3 back to front cooling Fan",
          "replacement": null
        },
        {
          "partNumber": "FAN-T3-R",
          "description": "Catalyst 3850 Type 3 front to back cooling Fan",
          "replacement": null
        },
        {
          "partNumber": "NAL-3850-12S-E",
          "description": "NAL PID for 3850 switch",
          "replacement": null
        },
        {
          "partNumber": "NAL-3850-12S-S",
          "description": "NAL PID for 3850 switch",
          "replacement": null
        },
        {
          "partNumber": "NAL-3850-12XS-E",
          "description": "NAL PID for 3850 switch",
          "replacement": null
        },
        {
          "partNumber": "NAL-3850-12XS-S",
          "description": "NAL PID for 3850 switch",
          "replacement": null
        },
        {
          "partNumber": "NAL-3850-16XS-E",
          "description": "NAL PID for 3850 switch",
          "replacement": null
        },
        {
          "partNumber": "NAL-3850-16XS-S",
          "description": "NAL PID for 3850 switch",
          "replacement": null
        },
        {
          "partNumber": "NAL-3850-24S-E",
          "description": "NAL PID for 3850 switch",
          "replacement": null
        },
        {
          "partNumber": "NAL-3850-24S-S",
          "description": "NAL PID for 3850 switch",
          "replacement": null
        },
        {
          "partNumber": "NAL-3850-24XS-E",
          "description": "NAL PID for 3850 switch",
          "replacement": null
        },
        {
          "partNumber": "NAL-3850-24XS-S",
          "description": "NAL PID for 3850 switch",
          "replacement": null
        },
        {
          "partNumber": "NAL-3850-32XS-E",
          "description": "NAL PID for 3850 switch",
          "replacement": null
        },
        {
          "partNumber": "NAL-3850-32XS-S",
          "description": "NAL PID for 3850 switch",
          "replacement": null
        },
        {
          "partNumber": "NAL-3850-48XS-E",
          "description": "NAL PID for 3850 switch",
          "replacement": null
        },
        {
          "partNumber": "NAL-3850-48XS-F-E",
          "description": "NAL PID for 3850 switch",
          "replacement": null
        },
        {
          "partNumber": "NAL-3850-48XS-F-S",
          "description": "NAL PID for 3850 switch",
          "replacement": null
        },
        {
          "partNumber": "NAL-3850-48XS-S",
          "description": "NAL PID for 3850 switch",
          "replacement": null
        },
        {
          "partNumber": "WS-C3750X-24-FXBDL",
          "description": "Catalyst 3750X 24 GE SFP IPB 100BaseFX Bundle",
          "replacement": null
        }
      ]
    }
  ]
}

MCP server for AI assistants

A live Model Context Protocol endpoint at https://eosl.ai/mcp, free and with no key. Five read-only tools: one part, a list of up to 200, search, full family record, vendor list. An unknown part returns found:false, never a guess. Full setup for Claude, Cursor and VS Code is on the MCP page.

Claude Code
claude mcp add --transport http eosl https://eosl.ai/mcp
Cursor
{ "mcpServers": { "eosl": { "url": "https://eosl.ai/mcp" } } }
Markdown, not scraped HTML

Send Accept: text/markdown to any page and get clean markdown. llms.txt maps the site for agents.

Integrations

Three published packages read the inventory you already keep and never write to it.

NetBox

A plugin panel on every Device and Device Type page: end-of-sale, end-of-service-life, Support Runway Score, the vendor bulletin, and a link to the full record. manage.py eosl_check audits the whole inventory at once.

pip install netbox-eosl

Matching is exact part-number only. An unknown part says so and offers a search link rather than putting a wrong date on a real device.

Source → · PyPI →

Ansible

The eosl.lifecycle collection answers one question from a playbook, down to the part number: is this hardware still supported, and when does that stop? Returns the bulletin URL beside every date.

ansible-galaxy collection install eosl.lifecycle

No Python dependencies beyond ansible-core. One HTTP request per run, however many part numbers you check.

Source → · Galaxy →

Snipe-IT

A read-only CLI that audits a Snipe-IT inventory against the database. Snipe-IT knows what you own; this tells you when the manufacturer stops supporting it, and links the bulletin for every date.

pip install snipeit-eosl

Read-only — it never writes to your Snipe-IT. Zero dependencies, one HTTP request regardless of inventory size.

Source → · PyPI →

Feeds, badges and bulk data

Calendar feeds

Subscribe in Outlook, Google or Apple Calendar: the whole database or one vendor.

Feeds →

Change feed

New end-of-life announcements and revised dates from the weekly re-read of vendor sources, with RSS.

Ledger → · RSS →

Status badges

A live SVG badge for a README, wiki or runbook.

Badge builder →

Bulk download

Every record as one CSV or JSON file under CC BY 4.0, for offline matching.

Download →

Notes

Source-backed

Every date carries the sourceUrl of the vendor bulletin it came from. Computed EOSL dates are flagged eoslComputed:true with a policyUrl.

CORS-open, cache-friendly

All endpoints send Access-Control-Allow-Origin: * and are static — fetch them from the browser or a server. Please cache; the data changes at most weekly.

Stable slugs

Family slugs match the site URLs (https://eosl.ai/system/{slug}/), so you can link users straight to the human page.

Attribution

Free to use. If you surface these dates, credit EOSL.ai and link back so your users can reach the source bulletin.

Nothing is gated — a key is optional identity

Every endpoint here works with no key and always will: gating them would make the MCP server invisible to the agents it exists for and break the NetBox, Ansible and Snipe-IT plugins on install. A key from the form below changes only whose name is on your usage. Without one, send a descriptive User-Agent (e.g. my-tool/1.0) and that is how you appear in the public usage report.

Get a key — optional, instant, free

Everything above works without one. A key does exactly one thing: it puts your name on your own usage. Requests carrying it are attributed to your key in EOSL.ai's internal usage reporting (your email is never published anywhere), including which part numbers you looked up — so heavy lookups steer what gets covered next. Attach it as an X-EOSL-Key header, or ?key= where headers are impossible (Google Sheets). No password, no account, nothing to cancel.

There is no key, no quota and no rate-limit form to fill in — the endpoints are static JSON on a CDN, so use them as hard as you like. Want the whole thing at once instead of endpoint by endpoint? Take the open dataset; it is CC BY 4.0, so you may redistribute it commercially with attribution.