Find a LinkedIn company URL from a domain
curl --request POST \
--url https://api.airscale.io/v1/domain-to-linkedin \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"domain": "example.org"
}
'const url = 'https://api.airscale.io/v1/domain-to-linkedin';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({domain: 'example.org'})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://api.airscale.io/v1/domain-to-linkedin"
payload = { "domain": "example.org" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"linkedin_company_url": "https://www.linkedin.com/company/example-company-000000"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Domain to LinkedIn
Find a LinkedIn company URL from a company domain. Rate limit: 180 requests per minute per workspace.
POST
/
v1
/
domain-to-linkedin
Find a LinkedIn company URL from a domain
curl --request POST \
--url https://api.airscale.io/v1/domain-to-linkedin \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"domain": "example.org"
}
'const url = 'https://api.airscale.io/v1/domain-to-linkedin';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({domain: 'example.org'})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://api.airscale.io/v1/domain-to-linkedin"
payload = { "domain": "example.org" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"linkedin_company_url": "https://www.linkedin.com/company/example-company-000000"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Submit one company domain and receive its LinkedIn company URL. The response contains only
Use a current workspace API key from Settings → API key. Keys from the previous dashboard are not supported by this endpoint; generate a current key before calling it.
linkedin_company_url.
A successful lookup costs 0.5 credits, charged after the lookup. No-result and failed lookups cost zero. The charge may appear later, including after a top-up if your balance is insufficient. The limit is 180 requests per minute per workspace.
Domain input
Send onlydomain: a hostname such as example.org, without a scheme, path, or port. Uppercase and a leading www. are normalized. Extra body fields are rejected; the body limit is 4 KiB.
Timeouts and retries
The lookup has a 120-second deadline. Allow 130 seconds in your client. Personal profile and school URLs are not returned. Reuse the sameIdempotency-Key for transport retries of the same domain. Keys are scoped to your workspace and this endpoint; responses replay for seven days without another lookup or charge. Without a key, every request is a new operation.
An in-flight duplicate returns 409 with Retry-After: 2; wait and retry with the same key. A key reused for a different domain, or an expired key, also returns 409 and needs a new key. After a completed transient failure, use a new key to start a fresh lookup. New operations can incur a new charge if successful.
Errors contain an error field. A 404 means no match was found; a 504 means the lookup timed out. Neither is charged. For 503, follow the retry guidance above.
Next step
Use Extract company profile to retrieve company details from the returned LinkedIn URL. That is a separate request with its own credit cost.Authorizations
Use an Airscale workspace API key. Never expose the key in client-side code.
Headers
Use the same key for transport retries of the same domain. Stored responses replay for seven days without another lookup or charge. In-flight duplicates return 409 with Retry-After: 2. Reusing a key with a different domain or after expiry returns 409. A new key starts a new operation. Without a key every request is a new operation.
Required string length:
1 - 200Pattern:
^[!-~]+$Body
application/json
Exactly one domain field. Maximum JSON body size: 4 KiB.
Response
A canonical LinkedIn company URL. Costs 0.5 credits; the charge may appear later.
Pattern:
^https://www\.linkedin\.com/company/[^/?#]+$