# 2s.io ISIN Validator

> 2s.io ISIN Validator is a paid API for AI agents from 2s.io, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-14).

Validates a 12-character ISIN (ISO 6166) by checking structure, country prefix, NSIN format, Luhn check digit, and optionally extracts embedded CUSIP for US/CA securities.

## Facts

- Endpoint: GET https://2s.io/api/validate/isin
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/2s-io-isin-validator-c6a7a24f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_eGXf9d7e2oZwe1k518Tg9

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability 2s-io-isin-validator-c6a7a24f
```

Example prompt: Can you check whether US0378331005 is a valid ISIN — I want to know if the structure and checksum are correct and what the embedded CUSIP is?

## When to prefer this

Use this endpoint when you need to validate ISINs beyond a simple regex — specifically when you need to catch transposed-digit errors in security master data, extract embedded CUSIP identifiers from US or Canadian ISINs, or confirm ISO 6166 Luhn checksum compliance. Prefer this over a regex check whenever data quality or compliance accuracy matters.

## Known failure modes

- ISIN not exactly 12 characters — returns valid:false with reason explaining length mismatch
- Invalid country prefix (not a recognized ISO 3166 alpha-2 code) — returns valid:false
- Luhn check digit mismatch — returns valid:false with reason indicating checksum failure
- Non-alphanumeric characters in NSIN segment — returns valid:false
- Missing or empty isin query parameter — likely returns 400 or error response
- Case-insensitive input accepted but malformed strings still rejected

## How this service works

Validate an ISIN (International Securities Identification Number, ISO 6166): 2-letter country prefix + 9-char NSIN + Luhn check digit. Returns {valid, isin, country, nsin, embeddedCusip (for US/CA), checkDigit, reason}. Catches transposed characters in security master data that a regex misses. Structure + checksum only.

## Output

Returns a JSON object with: valid (boolean), isin (normalized string), country (2-letter ISO code), nsin (9-character national security identifier), embeddedCusip (extracted CUSIP for US/CA ISINs), checkDigit, and reason (human-readable explanation if invalid, e.g. bad checksum or transposed characters).

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "isin": "US0378331005"
  }
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "queryParams"
   ],
   "properties": {
    "type": {
     "const": "http"
    },
    "method": {
     "const": "GET"
    },
    "queryParams": {
     "required": [
      "isin"
     ],
     "properties": {
      "isin": {
       "type": "string",
       "description": "12-character ISIN (case-insensitive)."
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/2s-io-isin-validator-c6a7a24f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 2s.io](https://www.zero.xyz/host/2s.io/llms.txt)
