Social URL Enrichment & Data API

This endpoint enables you to extract data from any LinkedIn profile in real-time, as well as all the data from the company page, and also find a valid verified email from the lead, in a clean JSON output with extracted details and the verified email, in one request.

You also have the option to only fetch the real-time profile data, with an average response time of 3 seconds.

The input parameter is a LinkedIn URL. You can use either a Sales Navigator encrypted URL or a standard LinkedIn URL.

ℹ️
  • This API fetches data in real-time, resulting in a 100% hit-rate. We do not rely on a database.
  • You will be charged 1 credit per request (only if the profile was successfully scrapped), and we will perform an email search for free.
  • You won't be charged for duplicate extraction (twice the same URL in the same month).

Endpoint

POST https://api.prospeo.io/social-url-enrichment

curl -X POST \
 -H "Content-Type: application/json" \
 -H "X-KEY: your_api_key" \
 -d '{
   "url": "https://www.linkedin.com/in/john-doe/"
   }' \
 "https://api.prospeo.io/social-url-enrichment"

Parameters

ParameterExample valueDescription
url
required
https://www.linkedin.com/in/john-doe
https://www.linkedin.com/in/ACwAABlrwXsBEZMJdq4
https://www.linkedin.com/sales/lead/ACwAAA-EHrwXsBEZMXS-jsKAwu,NAME_SEARCH,pehn
The LinkedIn URL of the person. This can be a Sales Navigator encrypted ID or a standard LinkedIn URL.
profile_only
optional
trueThis option allows you to specify you only need the data from the LinkedIn profile, but no in-depth company details and no email. This will reduce the response time.
ℹ️

See our Response time section to better understand the implication of using profile_only for lower latency.

Response

The response will contain a JSON object. Check if the error property is false. If it is true, refer to the section below to handle the error message.

⚠️

The below response contains all the data we return when profile_only is not set, or is false.

{
    "error": false,
    "response": {
		"email": {
            "email": "[email protected]",
            "email_anon_id": "G4G4IQEMMB",
            "email_status": "VALID",
            "email_type": "professional"
        },
        "first_name": "Mandy",
        "last_name": "Sarault",
        "full_name": "Mandy Sarault",
        "gender": "male",
        "job_title": "Fleet Manager at Voyago/Transdev - Ottawa",
        "linkedin": "https://www.linkedin.com/in/mandy-sarault-example",
        "summary": "Experienced Senior Legal Counsel for Crypto and Blockchain companies. Highly specialised in obtaining crypto & payment licenses, ensuring crypto services in the EU, UK, USA, Africa, Asia and Latin America. Proven track record of managing Legal teams.",
        "premium": false,
        "skills": "AML Compliance, International Private Law",
        "current_job_year": 2020,
        "current_job_month": 7,
        "picture": "https://assets-prospeo.s3.us-east-2.amazonaws.com/lead_YZ2Z0B9CCT276PCRMFCW.jpg",
        "location": {
            "country": "Canada",
            "country_code": "CA",
            "state": "Ontario",
            "city": "Ottawa",
            "timezone": "America/Toronto",
            "timezone_offset": "-4.0",
            "postal_code": null,
            "raw": "Greater Ottawa Metropolitan Area"
        },
        "company": {
            "name": "Voyageur Transportation Services",
            "is_catch_all": false,
            "size": "1001-5000",
            "logo": "https://assets.prospeo.io/company/ZAVWIX5PTA8K15C6LVJY.jpg",
            "linkedin": "https://www.linkedin.com/company/voyagomobility",
            "website": "http://www.voyago.ca",
            "common_email_pattern": null,
            "industry": "Transportation/Trucking/Railroad",
            "founded_in": 1979,
            "description": "Better Together. Voyago is a wholly owned subsidiary of Transdev, The Mobility Company, and together we're Canada's leading passenger mobility service...",
            "location": {
                "country": "Canada",
                "country_code": "CA",
                "state": "Ontario",
                "city": "London",
                "timezone": "America/St_Johns",
                "timezone_offset": "-2.5",
                "postal_code": "N5V 4L3",
                "address": "573 Admiral Court"
            }
        },
        "work_experience": [
            {
                "company": {
                    "id": 12993966,
                    "name": "Mercuryo",
                    "logo": "https://media.licdn.com/dms/image/C4D0BAQFn5oy3BFhGhA/company-logo_400_400/0/1655383994389?e=1701907200&v=beta&t=M0eWHR6b4IcN8MgFZVnJlztvv-UxG4BWXsi5rmLKqBU",
                    "url": "https://www.linkedin.com/company/mercuryo-io/",
                    "employees": {
                        "start": 51,
                        "end": 200
                    }
                },
                "date": {
                    "start": {
                        "month": 7,
                        "day": null,
                        "year": 2020
                    },
                    "end": {
                        "month": null,
                        "day": null,
                        "year": null
                    }
                },
                "profile_positions": [
                    {
                        "location": null,
                        "date": {
                            "start": {
                                "month": 6,
                                "day": null,
                                "year": 2021
                            },
                            "end": {
                                "month": null,
                                "day": null,
                                "year": null
                            }
                        },
                        "company": "Mercuryo",
                        "description": "Provided legal support for:\n- Expansion of Mercuryo to the United States market, Canada, Latin America\n- Obtaining crypto licenses for various jurisdictions\n- Closing a $7.5M Series A funding led by Target Global\n- Conclusion of partnerships with Binance, 1inch, Ledger, Nexo and others for products as Cryptocurrency Widget, Acquiring & Crypto-Acquiring, Over-the-Counter deals\n- Conclusion of Sponsorship Agreements with LaLiga and Swansea City FC\n\nGeneral Duties:\n- Providing full legal support to Mercuryo for conducting its activity all over the world - Ensuring compliance with regulatory requirements in the countries of operations\n- Keeping Terms and Conditions, Privacy Policy, etc. up to date\n- Drafting and administering all contracts\n- Carrying out research and preparing legal opinions on regulatory changes in crypto and payments industries - Coordinating foreign legal consultants on corporate law matters\n- Performing AML & KYC/KYB checks\n- Undergoing onboarding procedures in financial institutions",
                        "title": "Senior Legal Counsel (Crypto & Blockchain)",
                        "employment_type": "Full-time"
                    },
                    {
                        "location": "Москва, Россия",
                        "date": {
                            "start": {
                                "month": 7,
                                "day": null,
                                "year": 2020
                            },
                            "end": {
                                "month": 5,
                                "day": null,
                                "year": 2021
                            }
                        },
                        "company": "Mercuryo",
                        "description": null,
                        "title": "Legal Counsel (Crypto & Blockchain)",
                        "employment_type": "Full-time"
                    }
                ]
            }
        ],
        "education": [
            {
                "date": {
                    "start": {
                        "month": null,
                        "day": null,
                        "year": 2014
                    },
                    "end": {
                        "month": null,
                        "day": null,
                        "year": 2018
                    }
                },
                "school": {
                    "name": "Moscow State Institute of International Relations (University) MFA Russia MGIMO",
                    "logo": "https://media.licdn.com/dms/image/C560BAQGozQ0DGW-n8g/company-logo_400_400/0/1519871841758?e=1701907200&v=beta&t=mXozpFXnB_mvDXq-5qpCV3y4OKskb58W4JiMMl7G-hM",
                    "url": "https://www.linkedin.com/school/%D0%BC%D0%BE%D1%81%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9-%D0%B3%D0%BE%D1%81%D1%83%D0%B4%D0%B0%D1%80%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9-%D0%B8%D0%BD%D1%81%D1%82%D0%B8%D1%82%D1%83%D1%82-%D0%BC%D0%B5%D0%B6%D0%B4%D1%83%D0%BD%D0%B0%D1%80%D0%BE%D0%B4%D0%BD%D1%8B%D1%85-%D0%BE%D1%82%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D0%B9-%D1%83%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%82%D0%B5%D1%82-%D0%BC%D0%B8%D0%B4-%D1%80%D0%BE%D1%81%D1%81%D0%B8%D0%B8-%D0%BC%D0%B3%D0%B8%D0%BC%D0%BE-/"
                },
                "degree_name": "Bachelor's degree",
                "field_of_study": "International Private and Civil Law"
            }
        ],
        "languages": {
            "primary_locale": {
                "country": "RU",
                "language": "ru"
            },
            "supported_locales": [
                {
                    "country": "RU",
                    "language": "ru"
                }
            ],
            "profile_languages": []
        }
    }
}
PropertyTypeDescription
errorbooleanIndicates if an error has occurred. If false, the request was successful. If true, an error has occurred.
emailobjectContains information about the found email. This object is not present if profile_only was set to true.
email.emailstringThe email that was found.
email.email_statusstringThe status of the found email. Can be VALID, CATCH_ALL or NOT_FOUND.
email.email_typestringThe type of the found email. For this endpoint, it's always professional.
first_namestringThe first name of the LinkedIn profile owner.
last_namestringThe last name of the LinkedIn profile owner.
full_namestringThe full name of the LinkedIn profile owner.
genderstringThe gender of the LinkedIn profile owner, determined by AI.
job_titlestringThe job title of the LinkedIn profile owner.
summarystringThe about section of the LinkedIn profile owner.
skillsstringThe skills of the LinkedIn profile owner, separated by commas.
premiumstringA boolean representing if the LinkedIn profile owner is premium.
linkedinstringThe LinkedIn URL of the profile owner.
entity_urnstringThe LinkedIn entity URN of the profile owner (Sales Navigator ID).
picturestringThis is an URL hosted by ourselves of the profile picture of the LinkedIn profile owner.
work_experienceobjectThe complete work experience history of the LinkedIn profile owner.
educationobjectThe complete education history of the LinkedIn profile owner.
languagesobjectThe list of advertized spoken languages of the LinkedIn profile owner, as well as its configured locale.
current_job_yearobjectThe year when the current job of the LinkedIn profile owner was started.
current_job_monthobjectThe month when the current job of the LinkedIn profile owner was started.
locationobjectThe location of the LinkedIn profile owner. All values are cleaned, standardized and consistent.
location.countrystringThe country of the LinkedIn profile owner.
location.country_codestringThe ISO 3166-1 alpha-2 country code of the profile owner's country.
location.statestringThe state of the LinkedIn profile owner.
location.citystringThe city of the LinkedIn profile owner.
location.timezonestringThe timezone of the LinkedIn profile owner.
location.timezone_offsetstringThe timezone offset of the LinkedIn profile owner. Useful for optimizing cold emailing time.
location.postal_codestringThe postal code of the LinkedIn profile owner. May be null if not available.
location.rawstringThe raw location string as it appears on the LinkedIn profile.
companyobjectContains in-depth real-time data about the company where the LinkedIn profile owner works. This object is not present if profile_only was set to true.
company.namestringThe name of the company.
company.is_catch_allbooleanIndicates if the company's domain is a catch-all domain.
company.sizestringThe size of the company.
company.logostringThe URL to the company logo.
company.linkedinstringThe LinkedIn URL of the company.
company.websitestringThe company's website URL.
company.common_email_patternstringThe common email pattern used by the company, if any.
company.industrystringThe industry in which the company operates.
company.founded_inintegerThe year the company was founded.
company.descriptionstringA brief description of the company.
company.locationobjectThe location of the company. All values are cleaned and standardized.
company.location.countrystringThe country where the company is located.
company.location.country_codestringThe ISO 3166-1 alpha-2 country code of the company.

Specific error codes

ℹ️

If you can't find the error message on this list, check our general error message.

Error codeMessageMeaning
400INVALID_LINKEDIN_URLInvalid LinkedIn URL format.
400UNREACHABLE_LINKEDIN_URLThe LinkedIn URL is valid but the profile cannot be accessed, for example, a private profile.

Rate limit

The rate limits are:

  • 60 calls per minute
  • 5 calls per second (burst allowance)

When the limit is reached, we will return a 429 error code.

ℹ️

If you need your rate limit to be increased, feel free to contact us at [email protected]. The rate limit can easily be increased to 15+ requests per second (1000+ per minute).

Response time

With profile_only omitted or set to false: on average, a request takes 10 seconds, but can extend up to 20 seconds, as we are fetching a lot of real-time data.

With profile_only set to true: on average, a request takes 3 seconds, but can extend up to 6 seconds in rare cases. The response will not contains the email object nor the company object.

When performing a standard request without the optional profile_only parameter, the response time for this request depends on several factors. We first extract information from LinkedIn in real-time, which includes both the user profile and company profile. We then initiate an email finding process that goes deep.

If a given lead doesn't have a company website, for instance, we'll attempt to find it using Google. If a lead has a catch-all email, we'll make several deep attempts to verify it, using novel approaches instead of standard SMTP pinging.

Our JSON is providing a comprehensive view of a person's LinkedIn profile, company profile, and email address, all in one request.

We recommend not setting a timeout for our requests.

ℹ️

Rest assured that we have established hard limits on our response time. There's no need to worry about your system hanging indefinitely while waiting for our response.