API Endpoint: Company Name Lookup by EIN
The company-name-lookup-by-ein endpoint returns the registered business name associated with an EIN.
POST /api/v1/validate/company-name-lookup-by-ein
https://www.tincomply.com/api/v1/validate/company-name-lookup-by-ein
Submit an EIN and get back the registered business name associated with it. Useful when a vendor supplies an EIN but not the exact legal name.
Request body
| Field | Type | Description |
|---|---|---|
tinrequired |
string | The EIN to look up. 9 digits; hyphens are ignored. |
Response object: companyNameLookupByEinResult
| Field | Type | Description |
|---|---|---|
name | string | The registered business name. |
found | bool | True when a name was found for the EIN. |
message | string | Human-readable summary of the result. |
completed | bool | False 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 see | Do this |
|---|---|
| found is true | Compare name with the name your vendor gave you. If they differ, ask for the legal name and run IRS TIN matching with it. |
| found is false | No name is on record for this EIN in our sources, which does not prove it is invalid. Run IRS TIN matching with the name the payee supplied. |
| completed is false | The 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/company-name-lookup-by-ein \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"tin":"13-0871985"}'import requests
response = requests.post(
"https://www.tincomply.com/api/v1/validate/company-name-lookup-by-ein",
headers={"X-API-Key": "YOUR_API_KEY"},
json={
"tin": "13-0871985",
},
)
response.raise_for_status()
print(response.json()["companyNameLookupByEinResult"])using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var body = """
{
"tin": "13-0871985"
}
""";
var response = await client.PostAsync(
"https://www.tincomply.com/api/v1/validate/company-name-lookup-by-ein",
new StringContent(body, Encoding.UTF8, "application/json"));
Console.WriteLine(await response.Content.ReadAsStringAsync());const response = await fetch("https://www.tincomply.com/api/v1/validate/company-name-lookup-by-ein", {
method: "POST",
headers: {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
tin: "13-0871985",
}),
});
const data = await response.json();
console.log(data.companyNameLookupByEinResult);import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
String body = """
{
"tin": "13-0871985"
}
""";
HttpRequest request = HttpRequest.newBuilder(URI.create("https://www.tincomply.com/api/v1/validate/company-name-lookup-by-ein"))
.header("X-API-Key", "YOUR_API_KEY")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
// Parse with your JSON library (Jackson, Gson) and read companyNameLookupByEinResult.
System.out.println(response.body());
}
}package main
import (
"bytes"
"encoding/json"
"fmt"
"log"
"net/http"
)
func main() {
body := []byte(`{
"tin": "13-0871985"
}`)
req, err := http.NewRequest("POST", "https://www.tincomply.com/api/v1/validate/company-name-lookup-by-ein", bytes.NewReader(body))
if err != nil {
log.Fatal(err)
}
req.Header.Set("X-API-Key", "YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
var data map[string]any
if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
log.Fatal(err)
}
fmt.Println(data["companyNameLookupByEinResult"])
}$body = @'
{
"tin": "13-0871985"
}
'@
$response = Invoke-RestMethod -Method Post `
-Uri "https://www.tincomply.com/api/v1/validate/company-name-lookup-by-ein" `
-Headers @{ "X-API-Key" = "YOUR_API_KEY" } `
-ContentType "application/json" `
-Body $body
$response.companyNameLookupByEinResultSample response
{
"id": "Yk2pW8sQnE6cRtV1aZbLm0Xo",
"request": {
"tin": "XXXXX1985",
"requestDate": "2026-10-01T14:02:11Z",
"requestedServices": "company-name-lookup-by-ein"
},
"companyNameLookupByEinResult": {
"name": "INTERNATIONAL BUSINESS MACHINES CORPORATION",
"message": "EIN lookup 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: EIN & Company Lookup