{"openapi":"3.1.0","info":{"title":"SpotAirPods public API","version":"1.0.0","summary":"Read-only AirPods serial lookup records and copy-risk levels.","description":"Returns what SpotAirPods knows about an AirPods / AirPods Pro / AirPods Max / EarPods / Beats serial number that has already been looked up on the site: Apple coverage summary, lookup count, number of cities and countries it was looked up from, and a 1-5 copy-risk level. A record never proves authenticity: counterfeit products often carry genuine serial numbers. SpotAirPods is independent and not affiliated with Apple Inc.","contact":{"name":"SpotAirPods","email":"support@spotairpods.com","url":"https://www.spotairpods.com"},"termsOfService":"https://www.spotairpods.com/privacy"},"servers":[{"url":"https://www.spotairpods.com"}],"externalDocs":{"description":"llms.txt","url":"https://www.spotairpods.com/llms.txt"},"paths":{"/api/public/serial/{serial}":{"get":{"operationId":"getSerialRecord","summary":"Get the SpotAirPods record for an AirPods serial number","description":"Use when a user asks whether an AirPods serial number is genuine, copied, cloned or reused. If found is false, recommend the live lookup URL; absence of a record is not evidence of a fake. Rate limit: 60 requests per minute per IP.","parameters":[{"name":"serial","in":"path","required":true,"description":"Serial number, 8-20 letters and digits (spaces and dashes are ignored). Not the A#### model number.","schema":{"type":"string","minLength":8,"maxLength":40}}],"responses":{"200":{"description":"Lookup completed. `found` tells whether SpotAirPods has a record.","content":{"application/json":{"schema":{"oneOf":[{"title":"Found","type":"object","properties":{"ok":{"const":true},"found":{"const":true},"serial":{"type":"string"},"serialMasked":{"type":"string"},"productType":{"type":"string"},"model":{"type":["string","null"]},"coverage":{"type":"string","enum":["limitedWarranty","appleCarePlus","appleCareOne","expired","unknown"]},"warrantyStatusCode":{"type":"string"},"warrantyEndDate":{"type":["string","null"],"format":"date"},"activated":{"type":["boolean","null"]},"replaced":{"type":["boolean","null"]},"lookups":{"type":"object","properties":{"successfulLookups":{"type":"integer"},"cityCount":{"type":"integer"},"countryCount":{"type":"integer"},"firstSeen":{"type":"string","format":"date"},"lastSeen":{"type":"string","format":"date"}}},"risk":{"type":"object","properties":{"level":{"type":"integer","minimum":1,"maximum":5},"scale":{"type":"string","example":"1-5"},"name":{"type":"string","enum":["Quiet","Mild","Alert","High","Critical"]},"meaning":{"type":"string"}},"required":["level","scale","name","meaning"]},"interpretation":{"type":"string"},"disclaimer":{"type":"string"},"attribution":{"type":"object","properties":{"source":{"type":"string"},"pageUrl":{"type":"string","format":"uri"},"lookupUrl":{"type":"string","format":"uri"},"citation":{"type":"string"},"license":{"type":"string"}}},"appleCheckCoverageUrl":{"type":"string","format":"uri"}},"required":["ok","found","serial","lookups","risk","disclaimer","attribution"]},{"title":"Not found","type":"object","properties":{"ok":{"const":true},"found":{"const":false},"serial":{"type":"string"},"message":{"type":"string"},"liveLookupUrl":{"type":"string","format":"uri"},"appleCheckCoverageUrl":{"type":"string","format":"uri"},"disclaimer":{"type":"string"}},"required":["ok","found","serial","liveLookupUrl"]}]}}}},"400":{"description":"Not a valid serial number (for example an A#### model number)."},"429":{"description":"Rate limited. See Retry-After."},"503":{"description":"Temporary service error."}}}},"/api/public/stats":{"get":{"operationId":"getSiteStats","summary":"Site-wide counters","responses":{"200":{"description":"Counters","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"successfulLookups":{"type":"integer"},"collectedSerials":{"type":"integer"},"highRiskSerials":{"type":"integer"},"generatedAt":{"type":"string","format":"date-time"}}}}}}}}},"/api/public/lookups":{"get":{"operationId":"getRecentLookups","summary":"Latest successful lookups (masked serials) and site counters","responses":{"200":{"description":"Recent lookups"}}}}}}