Skip to main content

Company scraper

Turn a company page URL into structured data: description, industry, headcount, headquarters, website, specialties… Costs 0.5 credit per company found.

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.

Scrape one company​

GEThttps://app.icypeas.com/api/scrape/company?url=PROFILE_URL
Headers
  • Authorizationstringrequired

    Your API key, as is (no Bearer prefix).

  • Content-Typestringrequired

    Always application/json.

Query parameters
  • urlstringrequired

    The company URL

    Rule: should be a correctly formatted company profile (e.g. https://www.linkedin.com/company/my-linkedin-id)

Request example
curl -X GET "https://app.icypeas.com/api/scrape/company?url=PROFILE_URL" \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY"
Responses
200SuccessResponse when the company is found
Example response · 200
{
"success": true,
"searchId": "#YOUR_SEARCH_ID#",
"status": "FOUND",
"result": {
"name": "NEC Technologies",
"lid": "nec-technologies",
"url": "https://www.linkedin.com/company/nec-technologies/",
"description": "NEC Technologies",
"urn": "urn:li:fs_salesCompany:1693",
"address": {
"streetAddress": "",
"addressLocality": "Greater Tokyo Area",
"addressRegion": "",
"postalCode": "",
"addressCountry": "Japan",
"addressCountryCode": "JP"
},
"headcountRange": "50-100",
"phone": "+33 3 83 23 34 50",
"numberOfEmployees": 62,
"industry": "Computer Hardware Manufacturing",
"website": "https://www.nec.com/",
"specialties": [],
"type": "Public Company",
"deleted": false,
"foundedYear": "1899",
"pictureUrl": "https://icypeas-li-profile-pictures-production.s3.sbg.io.cloud.ovh.net/nec-technologies-8e6dd020f4614db796efc654ecb348fadcad0ed0f0674e71868bdaf129960a64",
"estimatedRevenuRange": {
"estimatedMaxRevenue": {
"amount": 1000,
"unit": "BILLION",
"currency": "USD"
},
"estimatedMinRevenue": {
"amount": 1,
"unit": "BILLION",
"currency": "USD"
}
},
"employeeGrowth": [
{
"percentage": 16,
"timespan": "SIX_MONTHS"
},
{
"percentage": 40,
"timespan": "YEAR"
},
{
"percentage": 40,
"timespan": "TWO_YEAR"
}
]
}
}
Response fields
  • successboolean

    true means that your search succeeded (no error was raised on our side)

  • searchIdstring

    The id of the search item (if you need to fetch the result later using the dedicated route)

  • statusstring

    FOUND because the profile has been found

  • resultobject

    The company

    Show properties (21)
    • idstring

      Icypeas unique identifier.

    • namestring

      Company name

    • urlstring

      LinkedIn company URL.

    • urnstring

      LinkedIn company URN.

    • websitestring

      Company website

    • phonestring

      Main phone number given by the company (unnormalized, we keep what was given)

    • sloganstring

      Company slogan

    • industrystring

      Company industry

    • foundedYearnumber

      Company founded year (-1 when not known)

    • specialtiesarray of objects

      Company specialties

      Show item properties (1)
      • valuestring

        Data value.

    • lidstring

      LinkedIn ID (the `my-linkedin-id` in https://linkedin.com/company/my-linkedin-id).

    • descriptionstring

      Company description.

    • pictureUrlstring

      Company image URL.

    • typestring

      Company legal form (LLC, SAS, SARL, GmbH, ...)

    • addressobject

      Address information.

      Show properties (6)
      • streetAddressstring

        Street address.

      • addressLocalitystring

        Address locality.

      • addressRegionstring

        Address region.

      • postalCodestring

        Postal code.

      • addressCountrystring

        Address country.

      • addressCountryCodestring

        Address country code (ISO Alpha 2 or UNK).

    • deletedboolean

      Indicates if the company has been deleted.

    • numberOfEmployeesnumber

      Number of employees (-1 when not known).

    • headcountRangestring

      Declarative headcount range (e.g. 1-10 or 50-100)

    • estimatedRevenuRangeobject

      Estimated revenue

      Show properties (2)
      • estimatedMaxRevenueobject

        Estimation of max revenue

        Show properties (3)
        • amountnumber

          Amount

        • unitstring

          Amount unit (BILLION, MILLION, THOUSAND, ...)

        • currencystring

          Amount currency (three letters)

      • estimatedMinRevenueobject

        Estimation of min revenue

        Show properties (3)
        • amountnumber

          Amount

        • unitstring

          Amount unit (BILLION, MILLION, THOUSAND, ...)

        • currencystring

          Amount currency (three letters)

    • revenueobject

      When the revenue is known (because the company has to disclose it, for instance)

      Show properties (3)
      • amountnumber

        Amount

      • unitstring

        Amount unit (BILLION, MILLION, THOUSAND, ...)

      • currencystring

        Amount currency (three letters)

    • employeeGrowtharray of objects

      Employee growth over the year

      Show item properties (1)
      • growthobject

        employee growth for a given timespan

        Show properties (2)
        • percentagenumber

          Employee growth percentage

        • timespanstring

          Time span (SIX_MONTHS, YEAR, TWO_YEAR, ...)

200SuccessResponse when the company is not found
Example response · 200
{
"success": true,
"searchId": "#YOUR_SEARCH_ID#",
"status": "NOT_FOUND",
"result": null
}
Response fields
  • successboolean

    true means that your search succeeded (no error was raised on our side)

  • searchIdstring

    The id of the search item (if you need to fetch the result later using the dedicated route)

  • statusstring

    NOT_FOUND because the company was not found

  • resultobject

    The field is null

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.

Example response · 200
{
"validationErrors": [
{
"field": "url",
"message": "wrong_linkedin_url",
"humanReadableMessage": "The URL should be a company URL",
"type": "WrongLinkedinUrl",
"expected": null,
"actual": "https://linkedin.com/xaeaea/zzz"
}
],
"success": false
}
TypeFieldsWhen it happens
stringEmpty
validation_string_empty
urlError sent when the parameter is missing
url
validation_url
urlError sent when the parameter is not a valid URL
WrongLinkedinUrl
wrong_linkedin_url
urlThe URL should be a user profile URL.
InsufficientCredits
insufficient_credits
You need more credits than the ones you have to run this search.
UnpaidSubscriptionError
unpaid_subscription_error
Error sent when you have a pending payment and your subscription is therefore not paid
401UnauthorizedResponse when we could not authenticate you.
Example response · 401
{
"message": "Unauthorized access.",
"error": "UnauthorizedAccessError",
"status": 401,
"code": "unauthorized_access_error"
}
Response fields
  • messagestring

    Human-readable message.

  • errorstring

    Error name

  • statusnumber

    HTTP error code

  • codestring

    Error code

429Too many requestsError received when rate limit is exceeded
Example response · 429
{
"message": "You have exceeded the max number of requests per minute.",
"error": "RateLimitExceededError",
"status": 429,
"code": "rate_limit_exceeded_error"
}
Response fields
  • messagestring

    Human-readable message.

  • errorstring

    Error name

  • statusnumber

    HTTP error code

  • codestring

    Error code

Scrape up to 50 companies​

POSThttps://app.icypeas.com/api/scrape
Headers
  • Authorizationstringrequired

    Your API key, as is (no Bearer prefix).

  • Content-Typestringrequired

    Always application/json.

Body parameters
  • typestringrequired

    The type of data

    Rule: should always be 'company'

  • dataarrayrequired

    An array containing the company URLs to scrape. Max number of companies per request is 50

    Rule: should be valid company URLs

Request example
curl -X POST "https://app.icypeas.com/api/scrape" \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-d '{
"type": "company",
"data": [
"https://www.linkedin.com/company/nec-technologies",
"https://www.linkedin.com/company/icypessaezeaze"
]
}'
Responses
200SuccessResponse when your input does not contain any validation errors
Example response · 200
{
"success": true,
"data": [
{
"searchId": "#YOUR_SEARCH_ID_1#",
"status": "FOUND",
"result": {
"name": "NEC Technologies",
"lid": "nec-technologies",
"url": "https://www.linkedin.com/company/nec-technologies/",
"description": "NEC Technologies",
"urn": "urn:li:fs_salesCompany:1693",
"address": {
"streetAddress": "",
"addressLocality": "Greater Tokyo Area",
"addressRegion": "",
"postalCode": "",
"addressCountry": "Japan",
"addressCountryCode": "JP"
},
"headcountRange": "50-100",
"phone": "+33 3 83 23 34 50",
"numberOfEmployees": 62,
"industry": "Computer Hardware Manufacturing",
"website": "https://www.nec.com/",
"specialties": [],
"type": "Public Company",
"deleted": false,
"foundedYear": "1899",
"pictureUrl": "https://icypeas-li-profile-pictures-production.s3.sbg.io.cloud.ovh.net/nec-technologies-8e6dd020f4614db796efc654ecb348fadcad0ed0f0674e71868bdaf129960a64",
"estimatedRevenuRange": {
"estimatedMaxRevenue": {
"amount": 1000,
"unit": "BILLION",
"currency": "USD"
},
"estimatedMinRevenue": {
"amount": 1,
"unit": "BILLION",
"currency": "USD"
}
},
"employeeGrowth": [
{
"percentage": 16,
"timespan": "SIX_MONTHS"
},
{
"percentage": 40,
"timespan": "YEAR"
},
{
"percentage": 40,
"timespan": "TWO_YEAR"
}
]
}
},
{
"searchId": "#YOUR_SEARCH_ID_2#",
"status": "NOT_FOUND",
"result": null
}
]
}
Response fields
  • successboolean

    true means that your search succeeded (no error was raised on our side)

  • dataarray of objects
    Show item properties (3)
    • searchIdstring

      The id of each search item (if you need to fetch the result later using the dedicated route)

    • statusstring

      FOUND when the company was found & NOT_FOUND when not

    • resultobject

      The company or null if no company was found

      Show properties (21)
      • idstring

        Icypeas unique identifier.

      • namestring

        Company name

      • urlstring

        LinkedIn company URL.

      • urnstring

        LinkedIn company URN.

      • websitestring

        Company website

      • phonestring

        Main phone number given by the company (unnormalized, we keep what was given)

      • sloganstring

        Company slogan

      • industrystring

        Company industry

      • foundedYearnumber

        Company founded year (-1 when not known)

      • specialtiesarray of objects

        Company specialties

        Show item properties (1)
        • valuestring

          Data value.

      • lidstring

        LinkedIn ID (the `my-linkedin-id` in https://linkedin.com/company/my-linkedin-id).

      • descriptionstring

        Company description.

      • pictureUrlstring

        Company image URL.

      • typestring

        Company legal form (LLC, SAS, SARL, GmbH, ...)

      • addressobject

        Address information.

        Show properties (6)
        • streetAddressstring

          Street address.

        • addressLocalitystring

          Address locality.

        • addressRegionstring

          Address region.

        • postalCodestring

          Postal code.

        • addressCountrystring

          Address country.

        • addressCountryCodestring

          Address country code (ISO Alpha 2 or UNK).

      • deletedboolean

        Indicates if the company has been deleted.

      • numberOfEmployeesnumber

        Number of employees (-1 when not known).

      • headcountRangestring

        Declarative headcount range (e.g. 1-10 or 50-100)

      • estimatedRevenuRangeobject

        Estimated revenue

        Show properties (2)
        • estimatedMaxRevenueobject

          Estimation of max revenue

          Show properties (3)
          • amountnumber

            Amount

          • unitstring

            Amount unit (BILLION, MILLION, THOUSAND, ...)

          • currencystring

            Amount currency (three letters)

        • estimatedMinRevenueobject

          Estimation of min revenue

          Show properties (3)
          • amountnumber

            Amount

          • unitstring

            Amount unit (BILLION, MILLION, THOUSAND, ...)

          • currencystring

            Amount currency (three letters)

      • revenueobject

        When the revenue is known (because the company has to disclose it, for instance)

        Show properties (3)
        • amountnumber

          Amount

        • unitstring

          Amount unit (BILLION, MILLION, THOUSAND, ...)

        • currencystring

          Amount currency (three letters)

      • employeeGrowtharray of objects

        Employee growth over the year

        Show item properties (1)
        • growthobject

          employee growth for a given timespan

          Show properties (2)
          • percentagenumber

            Employee growth percentage

          • timespanstring

            Time span (SIX_MONTHS, YEAR, TWO_YEAR, ...)

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.

Example response · 200
{
"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
}
TypeFieldsWhen it happens
stringEmpty
validation_string_empty
urlError sent when the parameter is missing
url
validation_url
urlError sent when the parameter is not a valid URL
WrongLinkedinUrl
wrong_linkedin_url
urlThe URL should be a company URL.
InsufficientCredits
insufficient_credits
You need more credits than the ones you have to run this search.
UnpaidSubscriptionError
unpaid_subscription_error
Error sent when you have a pending payment and your subscription is therefore not paid
401UnauthorizedResponse when we could not authenticate you.
Example response · 401
{
"message": "Unauthorized access.",
"error": "UnauthorizedAccessError",
"status": 401,
"code": "unauthorized_access_error"
}
Response fields
  • messagestring

    Human-readable message.

  • errorstring

    Error name

  • statusnumber

    HTTP error code

  • codestring

    Error code

429Too many requestsError received when rate limit is exceeded
Example response · 429
{
"message": "You have exceeded the max number of requests per minute.",
"error": "RateLimitExceededError",
"status": 429,
"code": "rate_limit_exceeded_error"
}
Response fields
  • messagestring

    Human-readable message.

  • errorstring

    Error name

  • statusnumber

    HTTP error code

  • codestring

    Error code