1gateway Kyb API

The Kyb API from 1gateway — 1 operation(s) for kyb.

Operations 1

GET /v1/kyb/check KYB check: sanctions (OFAC, EU, UK) + LEI identity + EU VAT validation in one… #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/1gateway-dev:1gateway-dev-kyb-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

1gateway-dev-kyb-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 1gateway Kyb API
  version: 0.1.1
  description: '1gateway lets AI agents buy the data and APIs they need, one call at a time: no signup, no API key, paid per request with USDC on Base or Solana via x402. Coverage: company and compliance checks (sanctions, KYB, SEC filings, Korean companies), Korean real estate, trade and macro data, onchain and market data, and agent utilities such as document-to-Markdown. Every response names its source. Failed calls are never charged.'
  x-guidance: 'Use this API when an agent needs data as English JSON with pay-per-call access and no signup. Common tasks: Korea apartment sale transactions and district price summaries, Korean public holidays, Korea company KYB (company resolve, profile, NTS business status, DART filings, supplier check), Korean HWP/HWPX to Markdown, web page to Markdown (web read), and document extract (PDF, DOCX, HWP/HWPX or web page to structured JSON). Current coverage is South Korea: apartment sale prices (MOLIT), exports/imports and 10-day export flash (Korea Customs), Bank of Korea statistics (ECOS), weather forecast by lat/lon (KMA), holidays (KASI); more APIs and countries are coming. Base onchain reads: token risk, wallet balances, token info, transaction status. Also: document → Markdown conversion for web pages, PDF, DOCX and Korean HWP/HWPX (price by detected type, decided before payment). Every /v1 endpoint is paid: call it, receive HTTP 402 with PAYMENT-REQUIRED, pay with an x402 client (USDC on Base or Solana, same price) and retry. No charge on failure: settlement happens only on 2xx; 4xx/5xx are never charged. Agent guide: https://1gateway.dev/agents.md. Status: https://1gateway.dev/status. MCP (Streamable HTTP) is available at https://1gateway.dev/mcp: initialize and tools/list are free, tools/call is paid via x402 _meta.'
  contact:
    email: contact@1gateway.dev
servers:
- url: https://1gateway.dev
tags:
- name: Kyb
paths:
  /v1/kyb/check:
    get:
      operationId: kyb_check
      summary: 'KYB check: sanctions (OFAC, EU, UK) + LEI identity + EU VAT validation in one…'
      description: 'Use when an agent must vet a company or counterparty before paying, onboarding or invoicing. Input: name, optional country (ISO2), lei, vat (EU, with prefix). Output: JSON summary (sanctions hits, LEI found/status, VAT valid), sanctions matches across OFAC SDN, EU and UK lists, GLEIF entity record with parents, VIES VAT result; a down VIES/GLEIF marks only that part. Not a legal determination. Example: ?name=Siemens+AG&lei=W38RGI023J3WT1HWRP32&vat=DE129273398'
      x-payment-info:
        price:
          mode: fixed
          currency: USD
          amount: '0.020000'
        protocols:
        - x402: {}
      x-x402:
        price: $0.02
        scheme: exact
        network: eip155:8453
        networks:
        - eip155:8453
        - solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
        asset: USDC
        kind: aggregate
        source: OFAC SDN + EU consolidated financial sanctions list + UK Sanctions List (FCDO) (refreshed daily, as-of dates in every answer); GLEIF LEI records (CC0, cached 24 h); VIES (European Commission, cached 24 h). UN list not included. Not a legal determination
      parameters:
      - name: name
        in: query
        required: true
        description: Company or person name in Latin script
        schema:
          type: string
          maxLength: 200
          example: Siemens AG
      - name: country
        in: query
        required: false
        description: ISO 3166-1 alpha-2 country of the legal address (narrows the LEI search)
        schema:
          type: string
          pattern: ^[A-Za-z]{2}$
          example: DE
      - name: lei
        in: query
        required: false
        description: Legal Entity Identifier, if known (exact LEI lookup instead of name search)
        schema:
          type: string
          pattern: ^[A-Za-z0-9]{18}[0-9]{2}$
          example: W38RGI023J3WT1HWRP32
      - name: vat
        in: query
        required: false
        description: EU VAT number with country prefix (Greece = EL), validated in VIES
        schema:
          type: string
          maxLength: 20
          example: DE129273398
      responses:
        '200':
          description: OK (payment settled). Example is a trimmed real output.
          content:
            application/json:
              schema:
                type: object
                properties:
                  query:
                    type: object
                    properties:
                      name:
                        type: string
                      country:
                        type:
                        - string
                        - 'null'
                      lei:
                        type:
                        - string
                        - 'null'
                      vat:
                        type:
                        - string
                        - 'null'
                  summary:
                    type: object
                    properties:
                      sanctionsHits:
                        type: integer
                      sanctionsTopScore:
                        type:
                        - integer
                        - 'null'
                      sanctionsLists:
                        type: array
                        items:
                          type: string
                      leiFound:
                        type: boolean
                      lei:
                        type:
                        - string
                        - 'null'
                      leiEntityStatus:
                        type:
                        - string
                        - 'null'
                      vatValid:
                        type:
                        - boolean
                        - 'null'
                      unavailable:
                        type: array
                        items: {}
                  sanctions:
                    type: object
                    properties:
                      lists_info:
                        type: array
                        items:
                          type: object
                          properties:
                            source:
                              type: string
                            source_url:
                              type: string
                            as_of:
                              type: string
                            published:
                              type: string
                            checked_at:
                              type: string
                            data_age_days:
                              type: integer
                            stale:
                              type: boolean
                            warning:
                              type: string
                            version:
                              type: string
                            entries:
                              type: integer
                            aliases:
                              type: integer
                            digital_currency_addresses:
                              type: integer
                            lists:
                              type: object
                              properties:
                                eu:
                                  type: object
                                  properties:
                                    entries:
                                      type: integer
                                    generated:
                                      type: string
                                uk:
                                  type: object
                                  properties:
                                    entries:
                                      type: integer
                                    generated:
                                      type: string
                      candidates_scanned:
                        type: integer
                      matches:
                        type: array
                        items:
                          type: object
                          properties:
                            score:
                              type: number
                            matchedOn:
                              type: string
                            exact:
                              type: boolean
                            entry:
                              type: object
                              properties:
                                uid:
                                  type: integer
                                name:
                                  type: string
                                type:
                                  type: string
                                programs:
                                  type: array
                                  items:
                                    type: string
                                countries:
                                  type: array
                                  items:
                                    type: string
                                aliases:
                                  type: array
                                  items:
                                    type: string
                                digitalCurrencyAddresses:
                                  type: array
                                  items: {}
                                lists:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      list:
                                        type: string
                                      entryId:
                                        type: string
                                      programmes:
                                        type: array
                                        items:
                                          type: string
                                      listedDate:
                                        type:
                                        - string
                                        - 'null'
                                ofacUrl:
                                  type: string
                  lei:
                    type: object
                    properties:
                      status:
                        type: string
                      matchedBy:
                        type: string
                      found:
                        type: boolean
                      matches:
                        type: array
                        items:
                          type: object
                          properties:
                            nameScore:
                              type: number
                            exactName:
                              type: boolean
                            lei:
                              type: string
                            legalName:
                              type: string
                            otherNames:
                              type: array
                              items:
                                type: string
                            entityStatus:
                              type: string
                            registrationStatus:
                              type: string
                            legalForm:
                              type: string
                            jurisdiction:
                              type: string
                            category:
                              type: string
                            legalAddress:
                              type: object
                              properties:
                                lines:
                                  type: array
                                  items:
                                    type: string
                                city:
                                  type: string
                                region:
                                  type: string
                                postalCode:
                                  type: string
                                country:
                                  type: string
                            headquartersAddress:
                              type: object
                              properties:
                                lines:
                                  type: array
                                  items:
                                    type: string
                                city:
                                  type: string
                                region:
                                  type: string
                                postalCode:
                                  type: string
                                country:
                                  type: string
                            registeredAs:
                              type: string
                            initialRegistrationDate:
                              type: string
                            lastUpdateDate:
                              type: string
                            nextRenewalDate:
                              type: string
                            gleifUrl:
                              type: string
                            directParent:
                              type: 'null'
                            ultimateParent:
                              type: 'null'
                      note:
                        type: string
                  vat:
                    type: object
                    properties:
                      status:
                        type: string
                      vat:
                        type: string
                      valid:
                        type: boolean
                      name:
                        type: 'null'
                      address:
                        type: 'null'
                      requestDate:
                        type: string
                  attribution:
                    type: object
                    properties:
                      sanctions:
                        type: string
                      gleif:
                        type: string
                      vies:
                        type: string
                  disclaimer:
                    type: string
                required:
                - query
                - summary
                - sanctions
                - lei
                - vat
                - attribution
                - disclaimer
              example:
                query:
                  name: Siemens AG
                  country: null
                  lei: W38RGI023J3WT1HWRP32
                  vat: DE129273398
                summary:
                  sanctionsHits: 0
                  sanctionsTopScore: null
                  sanctionsLists: []
                  leiFound: true
                  lei: W38RGI023J3WT1HWRP32
                  leiEntityStatus: ACTIVE
                  vatValid: true
                  unavailable: []
                sanctions:
                  lists_info:
                  - source: 'U.S. Department of the Treasury, Office of Foreign Assets Control (OFAC): Specially Designated Nationals and Blocked Persons List (SDN)'
                    source_url: https://ofac.treasury.gov/specially-designated-nationals-and-blocked-persons-list-sdn-human-readable-lists
                    as_of: '2026-10-15'
                    published: '2026-10-15T16:34:34.000Z'
                    checked_at: '2026-10-18T05:00:00.000Z'
                    data_age_days: 5
                    stale: true
                    warning: List copy last refreshed 4 days ago (> 3); recent OFAC changes may be missing.
                    version: test-20261015
                    entries: 2312
                    aliases: 2991
                    digital_currency_addresses: 512
                  candidates_scanned: 0
                  matches: []
                lei:
                  status: ok
                  matchedBy: lei
                  found: true
                  matches:
                  - nameScore: 1
                    exactName: true
                    lei: W38RGI023J3WT1HWRP32
                    legalName: Siemens Aktiengesellschaft
                    otherNames: []
                    entityStatus: ACTIVE
                    registrationStatus: ISSUED
                    legalForm: 6QQB
                    jurisdiction: DE
                    category: GENERAL
                    legalAddress:
                      lines:
                      - Werner-von-Siemens-Str. 1
                      city: München
                      region: DE-BY
                      postalCode: '80333'
                      country: DE
                    headquartersAddress:
                      lines:
                      - Werner-von-Siemens-Str. 1
                      city: München
                      region: DE-BY
                      postalCode: '80333'
                      country: DE
                    registeredAs: HRB 6684
                    initialRegistrationDate: '2012-06-06'
                    lastUpdateDate: '2026-09-01'
                    nextRenewalDate: '2027-10-25'
                    gleifUrl: https://search.gleif.org/#/record/W38RGI023J3WT1HWRP32
                    directParent: null
                    ultimateParent: null
                vat:
                  status: ok
                  vat: DE129273398
                  valid: true
                  name: null
                  address: null
                  requestDate: '2026-10-23T04:10:21.786Z'
                attribution:
                  sanctions: U.S. Treasury OFAC SDN list (U.S. government work); EU consolidated financial sanctions list (© European Union, reuse under Commission Decision 2011/833/EU); U…
                  gleif: LEI data from the Global Legal Entity Identifier Foundation (GLEIF), CC0. Not endorsed by GLEIF.
                  vies: VAT validation from VIES (European Commission). VIES results are not legally binding confirmation.
                disclaimer: 'Not a legal determination and not legal advice. Screening aid: sanctions results are potential name matches for human review (UN and other national lists not i…'
        '400':
          description: Invalid or missing parameters, or URL/domain not allowed (validated before payment where possible; not charged)
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code, e.g. bad_request, not_found, upstream_error, upstream_unreachable, upstream_not_configured
                    examples:
                    - bad_request
                  message:
                    type: string
                    description: Human-readable explanation
                    examples:
                    - month must be YYYYMM (e.g. 202409)
                required:
                - error
        '402':
          description: Payment Required (x402 v2). Returned for every unpaid request. PAYMENT-REQUIRED response header carries base64 JSON PaymentRequired; retry with PAYMENT-SIGNATURE.
        '500':
          description: Unexpected server error (not charged)
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code, e.g. bad_request, not_found, upstream_error, upstream_unreachable, upstream_not_configured
                    examples:
                    - bad_request
                  message:
                    type: string
                    description: Human-readable explanation
                    examples:
                    - month must be YYYYMM (e.g. 202409)
                required:
                - error
        '502':
          description: Upstream source returned an error or an unreadable response (not charged)
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code, e.g. bad_request, not_found, upstream_error, upstream_unreachable, upstream_not_configured
                    examples:
                    - bad_request
                  message:
                    type: string
                    description: Human-readable explanation
                    examples:
                    - month must be YYYYMM (e.g. 202409)
                required:
                - error
        '503':
          description: Endpoint temporarily disabled or upstream not configured on this server; no 402 is issued (not charged). Check /status, retry later
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code, e.g. bad_request, not_found, upstream_error, upstream_unreachable, upstream_not_configured
                    examples:
                    - bad_request
                  message:
                    type: string
                    description: Human-readable explanation
                    examples:
                    - month must be YYYYMM (e.g. 202409)
                required:
                - error
        '504':
          description: Upstream source timed out or was unreachable (not charged). Retry after 1-5 min with backoff
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code, e.g. bad_request, not_found, upstream_error, upstream_unreachable, upstream_not_configured
                    examples:
                    - bad_request
                  message:
                    type: string
                    description: Human-readable explanation
                    examples:
                    - month must be YYYYMM (e.g. 202409)
                required:
                - error
      tags:
      - Kyb
x-x402-network: eip155:8453
x-billing-policy: 'No charge on failure: payment is settled only after the endpoint returns a 2xx response. Any 4xx or 5xx (bad input, no data, upstream error, timeout, disabled endpoint) is not settled, so the signed payment is never collected. Input is validated before the 402 wherever possible. Over MCP, a tool result with isError is not settled either.'
x-error-codes:
- status: 400
  codes:
  - bad_request
  - url_not_allowed
  - bad_checksum
  - not_a_contract
  meaning: Invalid or missing parameters, or a URL/domain that is not allowed.
  retry: Fix the input; do not retry as is.
- status: 402
  codes: []
  meaning: Payment required (x402 v2). The PAYMENT-REQUIRED header holds the exact price.
  retry: Pay with an x402 client and retry with PAYMENT-SIGNATURE.
- status: 403
  codes:
  - not_bok_authored
  meaning: Requested table/resource is not served (e.g. statistics not authored by the Bank of Korea).
  retry: Do not retry.
- status: 404
  codes:
  - not_found
  - tx_not_found
  - tx_not_mined
  meaning: No data for the requested period/code yet.
  retry: Try an earlier period or another code.
- status: 413
  codes:
  - too_large
  meaning: Document is larger than this server's conversion cap (checked before payment).
  retry: Send a smaller document.
- status: 415
  codes:
  - unsupported_type
  - type_mismatch
  meaning: Document type not supported or not matching the declared type (before payment).
  retry: Do not retry as is.
- status: 502
  codes:
  - upstream_error
  - upstream_bad_response
  - upstream_http_error
  - rpc_unavailable
  - source_http_error
  meaning: The upstream source (government API, RPC, target site) returned an error or unreadable data.
  retry: Retry after 30-60 s with backoff.
- status: 503
  codes:
  - endpoint_disabled
  - upstream_not_configured
  - payment_not_configured
  meaning: Endpoint temporarily disabled on this server, or its upstream is not configured. No 402 is issued.
  retry: Check /status; retry later.
- status: 504
  codes:
  - upstream_unreachable
  meaning: The upstream source timed out or was unreachable (Korean public data APIs have occasional outages, esp. holidays).
  retry: Retry after 1-5 min with backoff.