API Endpoint: FATCA GIIN

The fatca-giin endpoint checks a Global Intermediary Identification Number against the IRS FATCA Foreign Financial Institution list.

POST /api/v1/validate/fatca-giin

https://www.tincomply.com/api/v1/validate/fatca-giin

Checks a GIIN against the IRS FATCA Foreign Financial Institution (FFI) list and returns the registered institution name and country.

Request body

FieldTypeDescription
giinrequired string The 19-character GIIN, including the dots.

Response object: fatcaGiinResult

FieldTypeDescription
giinstringThe GIIN checked.
namestringRegistered institution name.
countrystringRegistered country.
foundboolTrue when the GIIN is on the FFI list.
messagestringHuman-readable summary of the result.
completedboolFalse when the upstream source was unavailable. The request is retried automatically; call request-details with the request id later to get the finished result.

What to do with this result

When you seeDo this
found is true and name matchesAccept the GIIN on the W-8BEN-E and keep the request id with the form.
found is true but name differsThe GIIN belongs to another institution. Ask the entity to confirm its GIIN.
found is falseThe GIIN is not on the FFI list. Request a corrected W-8BEN-E; without a verified GIIN, FATCA withholding may apply to withholdable payments.
completed is falseThe source was unavailable. Keep the request id and call request-details later; the result fills in once the retry succeeds.

Sample request

curl -X POST https://www.tincomply.com/api/v1/validate/fatca-giin \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"giin":"29SR4B.99999.SL.372"}'

Sample response

{
  "id": "Gf5hJ7kL9zXc2vB4nM6qW8eR",
  "request": {
    "giin": "29SR4B.99999.SL.372",
    "requestDate": "2026-10-01T14:02:11Z",
    "requestedServices": "fatca-giin"
  },
  "fatcaGiinResult": {
    "giin": "29SR4B.99999.SL.372",
    "name": "IBM Ireland Profit Sharing Scheme",
    "country": "IRELAND",
    "message": "GIIN match found",
    "found": true,
    "completed": true
  }
}

Errors

Requests that cannot be processed return HTTP 400 with an object keyed by field name, each listing what was wrong. Authentication, permission and other status codes are covered in Errors & service status.

This endpoint requires an API key with the Validate permission.

See how this check works in the portal and what it costs: FATCA & LEI Validation