Company URL finder
Find the page URL of a company from its name or website. Costs 1 credit per URL found. Pair it with the company scraper to get its full data.
Unlike email searches, the single endpoint answers directly with the result. The bulk endpoint takes up to 50 items per call. See the rate limits.
Find one company URL
https://app.icypeas.com/api/url-search/companyAuthorizationstringrequiredYour API key, as is (no
Bearerprefix).Content-TypestringrequiredAlways
application/json.
companyOrDomainstringrequiredIt should contain either the company name or its domain name (or website)
- cURL
- JavaScript
- Python
- PHP
- PowerShell
- JSON body
curl -X POST "https://app.icypeas.com/api/url-search/company" \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-d '{
"companyOrDomain": "nec technologies"
}'
const response = await fetch("https://app.icypeas.com/api/url-search/company", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "YOUR_API_KEY",
},
body: JSON.stringify({
"companyOrDomain": "nec technologies"
}),
});
const data = await response.json();
console.log(data);
import requests
response = requests.post(
"https://app.icypeas.com/api/url-search/company",
headers={"Authorization": "YOUR_API_KEY"},
json={
"companyOrDomain": "nec technologies",
},
)
print(response.json())
<?php
$body = <<<'JSON'
{
"companyOrDomain": "nec technologies"
}
JSON;
$ch = curl_init("https://app.icypeas.com/api/url-search/company");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $body,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Authorization: YOUR_API_KEY",
],
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($response);
$headers = @{
"Authorization" = "YOUR_API_KEY"
"Content-Type" = "application/json"
}
$body = @'
{
"companyOrDomain": "nec technologies"
}
'@
$response = Invoke-RestMethod -Method POST -Uri "https://app.icypeas.com/api/url-search/company" -Headers $headers -Body $body
$response | ConvertTo-Json -Depth 10
Paste this in the Body field of Make, Zapier, n8n or Postman.
{
"companyOrDomain": "nec technologies"
}
200SuccessResponse when the company URL is found
{
"success": true,
"searchId": "#YOUR_SEARCH_ID#",
"status": "FOUND",
"result": "https://www.linkedin.com/company/my-company"
}
successbooleantrue means that your search succeeded (no error was raised on our side)
searchIdstringThe id of the search item (if you need to fetch the result later using the dedicated route)
statusstringFOUND because the company has been found
resultstringThe company URL
200SuccessResponse when the company URL is not found
{
"success": true,
"searchId": "#YOUR_SEARCH_ID#",
"status": "NOT_FOUND",
"result": ""
}
successbooleantrue means that your search succeeded (no error was raised on our side)
searchIdstringThe id of the search item (if you need to fetch the result later using the dedicated route)
statusstringNOT_FOUND because the company was not found
resultstringThe field is an empty string
200Validation errorResponse when there are validation errors.
The request reached Icypeas but some fields are wrong. The response lists every problem in validationErrors. See how to read and fix errors.
{
"validationErrors": [
{
"field": "companyOrDomain",
"message": "validation_string_empty",
"humanReadableMessage": "The string is empty",
"actual": ""
}
],
"success": false
}
| Type | Fields | When it happens |
|---|---|---|
stringEmptyvalidation_string_empty | companyOrDomain | Error sent when the parameter is missing |
requiredvalidation_required | companyOrDomain | Error sent when the parameter is null or undefined |
InsufficientCreditsinsufficient_credits | | You need more credits than the ones you have to run this search. |
UnpaidSubscriptionErrorunpaid_subscription_error | | Error sent when you have a pending payment and your subscription is therefore not paid |
401UnauthorizedResponse when we could not authenticate you.
{
"message": "Unauthorized access.",
"error": "UnauthorizedAccessError",
"status": 401,
"code": "unauthorized_access_error"
}
messagestringHuman-readable message.
errorstringError name
statusnumberHTTP error code
codestringError code
429Too many requestsError received when rate limit is exceeded
{
"message": "You have exceeded the max number of requests per minute.",
"error": "RateLimitExceededError",
"status": 429,
"code": "rate_limit_exceeded_error"
}
messagestringHuman-readable message.
errorstringError name
statusnumberHTTP error code
codestringError code
Find up to 50 company URLs
https://app.icypeas.com/api/url-searchAuthorizationstringrequiredYour API key, as is (no
Bearerprefix).Content-TypestringrequiredAlways
application/json.
typestringrequiredThe type of data
Rule: should always be 'company'
dataarray of objectsrequiredAn array containing the companies' information. Max number of companies per request is 50
Show item properties (1)
companyOrDomainstringrequiredIt should contains either the company name or its domain name (or website)
- cURL
- JavaScript
- Python
- PHP
- PowerShell
- JSON body
curl -X POST "https://app.icypeas.com/api/url-search" \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-d '{
"type": "company",
"data": [
{
"companyOrDomain": "nec technologies"
},
{
"companyOrDomain": "icypessaezeaze"
}
]
}'
const response = await fetch("https://app.icypeas.com/api/url-search", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "YOUR_API_KEY",
},
body: JSON.stringify({
"type": "company",
"data": [
{
"companyOrDomain": "nec technologies"
},
{
"companyOrDomain": "icypessaezeaze"
}
]
}),
});
const data = await response.json();
console.log(data);
import requests
response = requests.post(
"https://app.icypeas.com/api/url-search",
headers={"Authorization": "YOUR_API_KEY"},
json={
"type": "company",
"data": [
{
"companyOrDomain": "nec technologies",
},
{
"companyOrDomain": "icypessaezeaze",
},
],
},
)
print(response.json())
<?php
$body = <<<'JSON'
{
"type": "company",
"data": [
{
"companyOrDomain": "nec technologies"
},
{
"companyOrDomain": "icypessaezeaze"
}
]
}
JSON;
$ch = curl_init("https://app.icypeas.com/api/url-search");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $body,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Authorization: YOUR_API_KEY",
],
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($response);
$headers = @{
"Authorization" = "YOUR_API_KEY"
"Content-Type" = "application/json"
}
$body = @'
{
"type": "company",
"data": [
{
"companyOrDomain": "nec technologies"
},
{
"companyOrDomain": "icypessaezeaze"
}
]
}
'@
$response = Invoke-RestMethod -Method POST -Uri "https://app.icypeas.com/api/url-search" -Headers $headers -Body $body
$response | ConvertTo-Json -Depth 10
Paste this in the Body field of Make, Zapier, n8n or Postman.
{
"type": "company",
"data": [
{
"companyOrDomain": "nec technologies"
},
{
"companyOrDomain": "icypessaezeaze"
}
]
}
200SuccessResponse when your input does not contain any validation errors
{
"success": true,
"data": [
{
"searchId": "#YOUR_SEARCH_ID_1#",
"status": "FOUND",
"result": "https://www.linkedin.com/in/nec-technologies"
},
{
"searchId": "#YOUR_SEARCH_ID_2#",
"status": "NOT_FOUND",
"result": ""
}
]
}
successbooleantrue means that your search succeeded (no error was raised on our side)
dataarray of objectsShow item properties (3)
searchIdstringThe id of each search item (if you need to fetch the result later using the dedicated route)
statusstringFOUND when the company was found & NOT_FOUND when not
resultstringThe company URL or an empty string is the company page is not found
200Validation errorResponse when there are validation errors.
The request reached Icypeas but some fields are wrong. The response lists every problem in validationErrors. See how to read and fix errors.
{
"validationErrors": [
{
"field": "url",
"message": "wrong_linkedin_url",
"humanReadableMessage": "All URLs in the data array should be a profile URL. Please check URLs at indices: 1",
"type": "WrongLinkedinUrl",
"expected": null,
"actual": [
"https://www.linkedin.com/company/nec-technologies",
"https://www.linkedin.com/xx/apple/"
]
}
],
"success": false
}
| Type | Fields | When it happens |
|---|---|---|
stringEmptyvalidation_string_empty | url | Error sent when the parameter is missing |
urlvalidation_url | url | Error sent when the parameter is not a valid URL |
WrongLinkedinUrlwrong_linkedin_url | url | The URL should be a company URL. |
InsufficientCreditsinsufficient_credits | | You need more credits than the ones you have to run this search. |
UnpaidSubscriptionErrorunpaid_subscription_error | | Error sent when you have a pending payment and your subscription is therefore not paid |
401UnauthorizedResponse when we could not authenticate you.
{
"message": "Unauthorized access.",
"error": "UnauthorizedAccessError",
"status": 401,
"code": "unauthorized_access_error"
}
messagestringHuman-readable message.
errorstringError name
statusnumberHTTP error code
codestringError code
429Too many requestsError received when rate limit is exceeded
{
"message": "You have exceeded the max number of requests per minute.",
"error": "RateLimitExceededError",
"status": 429,
"code": "rate_limit_exceeded_error"
}
messagestringHuman-readable message.
errorstringError name
statusnumberHTTP error code
codestringError code