{"openapi":"3.1.0","info":{"title":"ISBN Validator API","version":"1.0.0","description":"ISBN validation and conversion as an API, computed locally and deterministically. The validate endpoint detects whether a code is an ISBN-10 or an ISBN-13, ignores hyphens and spaces, and verifies the check digit — ISBN-10 with the mod-11 scheme whose last character may be the letter X (for 10), and ISBN-13 with the weighted 1-3-1-3 mod-10 scheme — so 0-306-40615-2 and 978-0-306-40615-7 both validate while a wrong check digit is rejected. The checkdigit endpoint computes the trailing check digit for a 9-digit ISBN-10 stem or a 12-digit ISBN-13 stem (and recomputes it for a full code). The convert endpoint converts between the two forms: an ISBN-10 becomes an ISBN-13 by prefixing 978 and recomputing the check, and a 978-prefixed ISBN-13 converts back to ISBN-10 (979-prefixed codes have no ISBN-10 equivalent). Everything is computed locally and deterministically, so it is instant and private. Ideal for publishing, library, bookstore, catalogue, e-commerce and metadata app developers, ISBN-validation and barcode tools, and inventory systems. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is ISBN-specific validation and conversion; for generic Luhn/Verhoeff check digits use a check-digit API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/isbn-api","description":"oanor gateway"}],"tags":[{"name":"ISBN"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/checkdigit":{"get":{"operationId":"get_v1_checkdigit","tags":["ISBN"],"summary":"Compute check digit","description":"","parameters":[{"name":"isbn","in":"query","required":true,"description":"9-digit or 12-digit stem (or full ISBN)","schema":{"type":"string"},"example":"030640615"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"ISBN-10 check digit (X means 10).","type":"ISBN-10","inputs":{"stem":"030640615"},"full_isbn":"0306406152","check_digit":"2"},"meta":{"timestamp":"2026-06-05T19:50:13.991Z","request_id":"29bf195d-e8c8-48e5-8d34-acba0b52b6d6"},"status":"ok","message":"Compute check digit","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/convert":{"get":{"operationId":"get_v1_convert","tags":["ISBN"],"summary":"Convert ISBN-10 ↔ 13","description":"","parameters":[{"name":"isbn","in":"query","required":true,"description":"ISBN-10 or ISBN-13","schema":{"type":"string"},"example":"0306406152"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"from":"ISBN-10","note":"ISBN-10 → ISBN-13: prefix 978, drop the old check digit, recompute the mod-10 check.","inputs":{"isbn":"0306406152"},"isbn10":"0306406152","isbn13":"9780306406157"},"meta":{"timestamp":"2026-06-05T19:50:14.093Z","request_id":"10db5505-5401-4764-b79e-5142db213495"},"status":"ok","message":"Convert ISBN-10/13","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/validate":{"get":{"operationId":"get_v1_validate","tags":["ISBN"],"summary":"Validate an ISBN","description":"","parameters":[{"name":"isbn","in":"query","required":true,"description":"ISBN-10 or ISBN-13 (hyphens ok)","schema":{"type":"string"},"example":"978-0-306-40615-7"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"ISBN-10 uses a mod-11 check (last char may be X); ISBN-13 uses a weighted mod-10 check. Hyphens and spaces are ignored.","type":"ISBN-13","valid":true,"inputs":{"isbn":"978-0-306-40615-7"},"normalized":"9780306406157"},"meta":{"timestamp":"2026-06-05T19:50:15.963Z","request_id":"784ec90b-d813-46ab-9029-16dff202b2f5"},"status":"ok","message":"Validate ISBN","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"notes":"Hyphens and spaces are ignored. ISBN-10 check digit may be 'X' (=10). Only 978-prefixed ISBN-13 codes convert back to ISBN-10. For other check-digit schemes (Luhn, Verhoeff) use a check-digit API.","service":"isbn-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/convert":"Convert between ISBN-10 and ISBN-13.","GET /v1/validate":"Validate an ISBN-10 or ISBN-13.","GET /v1/checkdigit":"Compute the check digit for a 9- or 12-digit stem."},"description":"ISBN-10 / ISBN-13 validation, check-digit calculation and conversion."},"meta":{"timestamp":"2026-06-05T19:50:16.059Z","request_id":"24ff6315-98e1-43d5-9501-1efb358872d9"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":8500,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":340,"monthly_call_quota":85000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":970,"monthly_call_quota":370000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":3150,"monthly_call_quota":1900000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/isbn-api"}