The TrackJobChanges API enables you to query your connections and retrieve both their current occupation and past jobs. It uses standard RESTful commands and JSON responses, allowing you to connect TrackJobChanges to your internal systems and CRMs, keeping everything in sync automatically.
Not into APIs? You can use TrackJobChanges's API via Salesforce or Zapier instead!
V1 of the API is hosted at https://www.trackjobchanges.com/api/v1
. All calls use this URL as the base.
TrackJobChanges uses token-based authentication. If you're logged into your TrackJobChanges account, you'll see your API key below.
Your API key is:
<<log in to see your key>>
Simply include key
as a query parameter or a header parameter in your queries, like this: https://www.trackjobchanges.com/api/v1/connections?key=<<log in to see your key>>
.
If you don't include an API key or use the wrong one, TrackJobChanges will respond with a 401 authorization error.
Here are the most common HTTP status codes you may receive from our API and what they mean.
All GET calls to the TrackJobChanges API are paginated. Simply append a page=
parameter to paginate through the results. You can use the last_page key in the JSON payload to determine if you would like to continue paginating.
If you have multiple Groups for your TrackJobChanges Account then you can pass a group query parameter with the Group ID to the endpoints to get or create data for the correct group.
Retrieves your basic account information including plan usage.
GET https://www.trackjobchanges.com/api/v1/account?key=<<log in to see your key>>
{ "status": "SUCCESS", "message": "Loaded user data", "data": { "email": "rbucks@gmail.com", "connections_count": 7 } }
Retrieves a history of your API usage.
GET https://www.trackjobchanges.com/api/v1/account/pings?key=<<log in to see your key>>
{ "status": "SUCCESS", "message": "Loaded pings", "data": [ { "query_params": { "key": "54e30766279d9186adccfaaf0809d389", "query": "ryan@scripted.com", "action": "search", "format": "json", "controller": "api/v1/connections" }, "endpoint": "connections#search", "created_at": "2018-02-20T05:50:21.662Z" } ], "last_page": false }
Search the history of your API usage.
query | Text you want to search. It will search the endpoint and query_params fields | required |
GET https://www.trackjobchanges.com/api/v1/account/pings/search?key=<<log in to see your key>>&query=create
{ "status": "SUCCESS", "message": "Loaded pings", "data": [ { "query_params": { "key": "54e30666279d9186adccfaaf0809d123", "query": "ryan@scripted.com", "action": "search", "format": "json", "controller": "api/v1/connections" }, "endpoint": "connections#create", "created_at": "2018-02-20T05:50:21.662Z" } ], "last_page": true }
Retrieves a single connection by its ID.
Use GET https://www.trackjobchanges.com/api/v1/connections/id?key=<<log in to see your key>>
{ "status": "SUCCESS", "message": "Loaded connection.", "data": { "id": 1, "created_at": "2020-08-16T17:39:58.374Z", "has_new_job": true, "new_job_flagged_at": "2020-12-14T14:37:26.412Z", "first_name": "ryan", "last_name": "buckley", "linkedin_url": "https://www.linkedin.com/rbuckley", "facebook_url": null, "twitter_url": null, "avatar_url": "https://www.bing.com/th?id=AMMS_8b2ccc0930e51218cec5f510cfa5cc36&w=72&h=72&c=12&rs=1&qlt=80&cdv=1&dpr=2&pid=16.2", "employment_checked_at": "2020-12-14T14:37:26.391Z", "has_new_title": false, "location": "", "in_eu": false, "starting_employment": { "email": "rbuckley@scripted.com", "title": "ceo", "company": "scripted", "domain": "scripted.com", "current": false, "email_confidence": 100 }, "current_employment": { "email": "rbuckley@dvc.edu", "title": null, "company": "diablo valley college", "domain": "dvc.edu", "current": true, "email_confidence": 85 } } }
Retrieves a paginated list of all of your connections.
Use GET https://www.trackjobchanges.com/api/v1/connections?key=<<log in to see your key>>
for all connections or GET https://www.trackjobchanges.com/api/v1/connections?key=<<log in to see your key>>&has_new_job=true
for only connections with new jobs.
{ "status": "SUCCESS", "message": "Loaded all connections.", "data": [ { "id": 2758, "created_at": "2018-02-21T16:21:10.283Z", "has_new_job": false, "first_name": "ryan", "last_name": "buckley", "linkedin_url": "https://www.linkedin.com/in/rbuckley", "facebook_url": "https://www.facebook.com/rbucks", "twitter_url": "https://twitter.com/rbucks", "avatar_url": "https://d2ojpxxtu63wzl.cloudfront.net/static/bb01b76057252a4e3a1218b3e7ab4e1d_8c112ae46c1c884d84c3b0a5e7184b293c18db0d8508062a049ce1a16e67dfa9", "location": "San Francisco, CA, US", "in_eu": false, "starting_employment": { "email": "ryan@scripted.com", "title": "ceo", "company": "scripted", "started_at": null, "ended_at": null, "current": false, "email_confidence": null }, "current_employment": { "email": "ryan@toofr.com", "title": "founder", "company": "toofr", "started_at": "2017-07-01", "ended_at": null, "current": true, "email_confidence": 100 } } ], "last_page": true, "total_count": 1 }
Creates a new connection for TrackJobChanges to track on your account. The required parameters are a bit complicated. At minimum, we need either a linkedin_url alone or first_name and last_name with either email or company. We still suggest that you include all data you have available.
Properly formed email address of the new connection | optional | |
first_name | First name of the new connection | optional |
last_name | Last name of the new connection | optional |
company | Company name of the new connection | optional |
title | Title of the new connection | optional |
linkedin_url | LinkedIn profile URL of the new connection | optional |
group | ID of the group you are adding the connection to (defaults your first group) | optional |
persist | Whether or not you want to keep tracking the new connection (default: true ) |
optional |
POST https://www.trackjobchanges.com/api/v1/connections?key=<<log in to see your key>>&email=ryan@toofr.llc
{ "status": "SUCCESS", "message": "Your connection is processing. Use the ID to check again in a few minutes.", "data": { "id": 2761, "created_at": "2018-02-21T16:37:54.865Z", "has_new_job": null, "first_name": "ryan", "last_name": "buckley", "linkedin_url": null, "facebook_url": null, "twitter_url": null, "avatar_url": null, "location": "San Francisco, CA, US", "in_eu": false, "starting_employment": { "email": "ryan@toofr.com", "title": "ceo", "company": "toofr", "started_at": null, "ended_at": null, "current": null, "email_confidence": null } } }
Retrieves the employments given a set of search parameters. Retrieve the connection_id from the Get all connections result and include it in the URL address.
query | First name, last name, email, company, or title of your connections | required |
GET https://www.trackjobchanges.com/api/v1/connections/search?key=<<log in to see your key>>&query=ryan@toofr.com
A successful result will look like this.
{ "status": "SUCCESS", "message": "Searched your connections.", "data": [ { "id": 2758, "created_at": "2018-02-21T16:21:10.283Z", "has_new_job": false, "first_name": "ryan", "last_name": "buckley", "linkedin_url": "https://www.linkedin.com/in/rbuckley", "facebook_url": "https://www.facebook.com/rbucks", "twitter_url": "https://twitter.com/rbucks", "avatar_url": "https://d2ojpxxtu63wzl.cloudfront.net/static/bb01b76057252a4e3a1218b3e7ab4e1d_8c112ae46c1c884d84c3b0a5e7184b293c18db0d8508062a049ce1a16e67dfa9", "location": "San Francisco, CA, US", "in_eu": false, "starting_employment": { "email": "ryan@scripted.com", "title": "ceo", "company": "scripted", "started_at": null, "ended_at": null, "current": false, "email_confidence": null }, "current_employment": { "email": "ryan@toofr.com", "title": "founder", "company": "toofr", "started_at": "2017-07-01", "ended_at": null, "current": true, "email_confidence": 100 } }, { "id": 2761, "created_at": "2018-02-21T16:37:54.865Z", "has_new_job": false, "first_name": "ryan", "last_name": "buckley", "linkedin_url": "https://www.linkedin.com/in/rbuckley", "facebook_url": "https://www.facebook.com/rbucks", "twitter_url": "https://twitter.com/rbucks", "avatar_url": "https://d2ojpxxtu63wzl.cloudfront.net/static/bb01b76057252a4e3a1218b3e7ab4e1d_8c112ae46c1c884d84c3b0a5e7184b293c18db0d8508062a049ce1a16e67dfa9", "location": "San Francisco, CA, US", "starting_employment": { "email": "ryan@toofr.com", "title": "ceo", "company": "toofr", "started_at": "2017-07-01", "ended_at": null, "current": false, "email_confidence": null }, "current_employment": { "email": "ryan@toofr.com", "title": "advisor", "company": "toofr llc", "started_at": "2012-06-01", "ended_at": null, "current": true, "email_confidence": 100 } } ], "last_page": true, "total_count": 2 }
Creates a pool of connections from which you can harvest job changes.
company | The name of the company or account you are targeting | required |
term | Query term (one word) describing the job or position | required |
POST https://www.trackjobchanges.com/api/v1/connections/harvest?key=<<log in to see your key>>&company=salesforce&term=engineering
{ "status": "SUCCESS", "message": "Harvester job is queued." }
Sets the has_new_job attribute to FALSE.
id | The ID of the connection you want to unflag. You may retrieve this ID by searching or listing all connections. | required |
POST https://www.trackjobchanges.com/api/v1/connections/123/unflag?key=<<log in to see your key>>
{ "status": "SUCCESS", "message": "Unflagged the connection." }
Sets the has_new_title attribute to FALSE.
id | The ID of the connection title change you want to unflag. You may retrieve this ID by searching or listing all connections. | required |
POST https://www.trackjobchanges.com/api/v1/connections/123/unflag_title?key=<<log in to see your key>>
{ "status": "SUCCESS", "message": "Unflagged the connection title change." }
Permanently deletes a connection. BE CAREFUL WITH THIS ENDPOINT! It cannot be undone.
id | The ID of the connection you want to destroy. You may retrieve this ID by searching or listing all connections. | required |
DELETE https://www.trackjobchanges.com/api/v1/connections/123?key=<<log in to see your key>>
{ "status": "SUCCESS", "message": "Destroyed the connection." }
Permanently deletes all of your connections. BE CAREFUL WITH THIS ENDPOINT! It cannot be undone.
GET https://www.trackjobchanges.com/api/v1/connections/destroy_all?key=<<log in to see your key>>
{ "status": "SUCCESS", "message": "Destroyed all connections." }
Retrieves the employment history of a given connection. Retrieve the connection_id from the Get all connections result and include it in the URL address.
id | The ID of the connection you want to see employments for. You may retrieve this ID by searching or listing all connections. | required |
GET https://www.trackjobchanges.com/api/v1/connections/:id/employments?key=<<log in to see your key>>
A successful result will look like this.
{ "status": "SUCCESS", "message": "Loaded all employments.", "data": [ { "id": 3481, "email": "ryan@toofr.com", "title": "founder", "company": "toofr", "started_at": "2017-07-01", "ended_at": null, "current": true, "email_confidence": 100, "connection_id": 2758 }, { "id": 3483, "email": "ryan@toofr.com", "title": "advisor", "company": "toofr llc", "started_at": "2012-06-01", "ended_at": null, "current": false, "email_confidence": 100, "connection_id": 2758 }, { "id": 3484, "email": "ryan@rapleaf.com", "title": "business development", "company": "rapleaf", "started_at": "2010-09-01", "ended_at": "2011-04-01", "current": false, "email_confidence": 24, "connection_id": 2758 }, { "id": 3482, "email": "ryan.buckley@hired.com", "title": "advisor", "company": "hired, inc", "started_at": "2012-11-01", "ended_at": null, "current": false, "email_confidence": 21, "connection_id": 2758 }, { "id": 3480, "email": "ryan@scripted.com", "title": "ceo", "company": "scripted", "started_at": null, "ended_at": null, "current": false, "email_confidence": null, "connection_id": 2758 } ], "last_page": true, "total_count": 5 }
© 2021 Live Data Technologies. All rights reserved.