Optimizing your job apply pages with the LinkedIn profile API
1. Optimizing your Job
Apply Pages
with the
LinkedIn Profile API
Ivo Brett
Technical Consultant Manager
ibrett@linkedin.com
www.linkedin.com/in/ivobrett
2. Executive Summary
WeareevolvingourApplyWithLinkedInofferingtoallowformoreflexibilityand abettermobileexperience
By focusing on a single solution, we will be able to:
Allow engineers to get the data they need straight from LinkedIn—giving them more freedom to customize the experience
to fit their applications
Provide a solution that works better for desktop and mobile
Focus our energy on maintaining a single product
The Apply with LinkedIn plugin is being retired, and we are encouraging our developers to migrate to our Profile REST
API.
In conversations with developers and customers on how we could evolve the Apply With LinkedIn product, we heard that
you would like more product flexibility and a better mobile experience. After investigating options, we concluded the best
answer is providing access to our existing Profile REST API.
Why are we making this change?
What does this mean for you?
What's the context to this change?
Note: Job boards and other sites that aggregate job listings across multiple
companies are not legally permitted to use our APIs.
3. Agenda
How the LinkedIn Profile API can help your Apply Process
What is changing with the “Apply With LinkedIn” Plugin?
Benefits of the Profile API
Implementation Guide
Where you can get more information?
4. Do you need to optimize your Job Apply process?
Do you lose applicants at the last step – the Job Apply Page?
Do applicants need to fill out long forms to make their Job Application?
Do your candidates struggle to apply from their mobile device?
If you answer Yes – you should consider using the LinkedIn Profile API
to Optimize your Job Applications
5. Wait! What’s changed?
Can’t we use “Apply With LinkedIn”?
The “Apply With LinkedIn” Plugin is being replaced by the Profile API.
We heard from our developers and customers that you would like
more flexibility and a better mobile experience.
We are updating our API Terms of Use so that you can use our Profile
API to enable LinkedIn members to seamlessly apply to jobs on
career sites with their LinkedIn profiles.
By focusing on a API based solution, you will be able to:
get the data you need straight from LinkedIn - giving you more
freedom
provide a solution that works better for desktop and mobile
For full details on our terms please see
https://developer.linkedin.com/documents/linkedin-apis-terms-use
6. The LinkedIn API allow
developers to build
software applications that
leverage the LinkedIn
Platform
So what is an API?
LinkedIn
Platform
External
Systems
Application Programming Interface
An API is an interface that governs how one application can talk to another.
7. Benefits of the Profile API
The Profile API returns a member's LinkedIn profile in a form that a
website can read and process (i.e. XML or JSON)
You can use LinkedIn Profile information to assist members in
applying for jobs on your career site
The LinkedIn Profile API provides details including:
the member's first name, last name, industry, location
the member's headline (often "Job Title at Company")
picture-url
certifications, skills, educations, etc
and more
With the Profile API, there is now greater flexibility to make the apply
button (“call to action”) conform to the specific use case and language
For more details on the profile information available see
https://developer.linkedin.com/documents/profile-fields#fullprofile
The LinkedIn branding guidelines are still in effect - see here:
https://developer.linkedin.com/documents/branding-guidelines
9. There are 2 options for Profile API integration
• Use this option when you want integration directly between the client
web page and the LinkedIn platform (without the need for server code)
• Pros:
• Simple to use - leverages a LinkedIn Javascript framework
• Authentication and authorization taken care of by LinkedIn
framework
• Cons:
• Some known issues on mobile
• Use this option when you want integration between client’s web server
and the LinkedIn platform using REST based APIs
• Pros:
• Very flexible
• Works well across mobile, tablet and desktop
• Cons:
• Requires more server side software development work
Server Based
Profile
REST API
Client Side
Profile
Javascript API
10. LinkedInPlatformLayerRequestingWebsiteLayer
Step 1: Authentication & Authorization Step 2: Profile Query using Profile API
1
User applies on Job
Page which starts
the authentication
2
Client webserver
is requested to
perform login
3
Client Server
requests access
token using
OAuth
4
User is
redirected to
LinkedIn
Hosted login
page
5
User gives
permission for
requesting website
to access their
LinkedIn Profile
6
Access
Token is
received
For more details on authentication see
https://developer.linkedin.com/documents/authentication
7
Client Server requests
LinkedIn Profile info
using the Profile API
8
Client Webserver can
use this LinkedIn Profile
Info to populate an apply
form OR do a direct apply
Profile API
returns the
LinkedIn
Profile in
JSON or
XML
Server Based Profile API Integration (REST)
Note: Profile Query
requires the
Access Token as
per Step 1
11. LinkedInPlatformLayerRequestingWebsiteLayer
Step 1: Authentication & Authorization Step 2: Profile Query using Javascript library
Note: Oauth
tokens handled
by Javascript
Library
2
Javascript code
is executed that
redirects user to
LinkedIn hosted
login page
4
User gives
permission for
requesting website
to access their
LinkedIn Profile
For more details on the Javascript API see
https://developer.linkedin.com/javascript
5
Client side
Javascript uses
Javascript API to
retrieve Profile
6
Client Webserver
can use this LinkedIn
Profile Info to
populate an apply
form (OR do a direct
apply)
Profile API returns
the LinkedIn Profile
in JSON or XML
Client-side Profile API Integration (Javascript API)
1
User applies on Job
Page which starts
the authentication
3
User logs
in with
LinkedIn
credentials
12. Things you need to know …..
Emailing of Applications:
If your current Apply with LinkedIn implementation is leveraging the
“data-email” parameter, you will need to implement the functionality to
PDF the profile and construct and send the email
Confirmation to applicants:
If your current Apply with LinkedIn implementation is relying on LinkedIn
to send the post-apply email confirmation to the applicant, you will need
to now implement that email confirmation instead
Questions:
If your current Apply with LinkedIn implementation leverages the “data-
questions” parameter, you will need to implement your own question
flow
Cover Letter:
If your current Apply with LinkedIn implementation leverages the “data-
coverletter” parameter, you will need to implement your own method of
collecting a cover letter
13. Where do I begin?
Start by navigating to :
http://developer.linkedin.com
This is our developer portal where
you can read the API document,
collaborate with other developers,
and keep up to date of all the
changes to the LinkedIn APIs
From here, click on “LinkedIn APIs”
14. Next, understand the Terms of Use
Next, familiarize yourself with the
LinkedIn API Terms of Use:
https://developer.linkedin.com/docum
ents/linkedin-apis-terms-use
This is very important so that you can
understand what is allowed under the
LinkedIn API terms.
15. Next, get an API key
1. Start by signing into (access under Support – API Keys)
https://www.linkedin.com/secure/developer
2. Next log in with your LinkedIn credentials and grant
access to your LinkedIn account
3. Next Click Add a New Application
16. Next, get an API key (contd)
4. On the Add New Application page, complete
the required information for each field, noting
the following:
• In the Application Name field, enter a
name for the application (e.g., Acme
LinkedIn Integration)
• In the JavaScript API Domains field,
make sure you list the domains
where you will use the LinkedIn
javascript API, separating each by a
comma. e.g.
• http://www.acme.com,
http://jobs.acme.com
5. Click Add Application. On the Application
Details page, copy the string of letters and
numbers under the API Key field and
remember this.
You now have an API Key. Let’s move forward!
17. Next, make your code choice
1. Choose which language you want to code your
LinkedIn integration with.
2. LinkedIn provides a Javascript framework called the
LinkedIn JSAPI that you are free to use
3. Alternative, use another software language of your
choice and integrate with the REST based Profile API.
Note: a lot of really smart people (thanks !) have written
code samples and libraries in languages such as Java,
PHP, Python, AS3, C# (.Net), C++, Java (Android),
Objective C (iPhone), Perl, etc. Here are just some that we
know about.
18. Check out the Profile API Documentation
Start reading up on the Profile Documentation
https://developer.linkedin.com/documents/profile-fields
This is essential so you can understand the profile fields available
19. What is “scope” and why do I need it?
With the LinkedIn API, you have the ability to specify which permissions you
want users to grant your application. This is called “scope”
Alternatively, you may choose to specify which member permissions your
application requests by default. You can configure this for your API key in
application settings page
The scope permissions that are allowed to be including during the member
authentication for this new apply process are the following:
• r_fullprofile
• r_emailaddress
• r_contactinfo
20. Profile Field Selectors
LinkedIn Members publish a variety of information about themselves on their
member profile. You can retrieve these using the Profile APIs by explicitly
listing the fields you want using field selectors in your URL
If you need….. Use these Field Selectors
id, first-name, last-name http://api.linkedin.com/v1/people/~:(id,first-name,last-name)
interests, positions,
publications, patents
http://api.linkedin.com/v1/people/~:(interests,positions,publications,patents)
skills, certifications,
educations
http://api.linkedin.com/v1/people/~:(skills:(id,skill,proficiency,years),certifications,educations)
picture-url, public-profile-url http://api.linkedin.com/v1/people/~:(picture-url,public-profile-url)
The full list of LinkedIn profile field selectors are described here:
https://developer.linkedin.com/documents/field-selectors
21. Take some time to play with the Profile API
You may find it useful to play around with the profile API using the REST Console.
This will allow you to send REST based requests to LinkedIn and view responses
Visit https://developer.linkedin.com/rest-console
22. Where do I get more information?
Get more information on:
http://developer.linkedin.com
https://developer.linkedin.com/documents/sign-linkedin
https://developer.linkedin.com/documents/authentication
https://developer.linkedin.com/documents/inapiprofile
https://developer.linkedin.com/documents/profile-api
https://developer.linkedin.com/documents/branding-guidelines
To ask a question or discuss with other developers
https://developer.linkedin.com/forum