SignalHire API

1. Authentication

To use SignalHire API, first you will need to register on the website and request API key from our support team.

API keys should be kept secret and avoid sharing it with others. Sharing SignalHire API keys will allow others to make SignalHire API calls using your paid credits.

2. HTTP Response headers

Total remaining credits can be found in HTTP response header X-Credits-Left.

3. HTTP response codes for API request

SignalHire API also returns following HTTP status codes to indicate success or failure of request.

  • 200 - Request is completed successfully, data is collected.
  • 201 - Request is accepted and server starts to collect data.
  • 204 - Request is still in progress.
  • 401 - Server can not verify your authentication to use API. Please check whether API key is proper or not.
  • 402 - You are running out of your credit limit.
  • 403 - Your account has been disabled or you ask for not yours request’s status.
  • 404 - Requested API can not be found on server or you give invalid json data or you ask for status of not existing request.
  • 406 - You gave more than maximum allowed links amount (limit is 100 links now)
  • 422 - Server can not understand the request sent to it. This is kind of response can occur if parameters are passed wrongly.
  • 500 - Internal Server Error.

4. Start requesting person’s data by LinkedIn profile urls

API endpoint - POST https://www.signalhire.com/api/v1/candidate/byLinkedInUrl

Request parameters

ParameterPlaceTypeDescriptionExample
apikeyRequest headerString, requiredYour secret API key to authenticate requestapikey: testapikey
urlsRequest bodyJson string, requiredArray of LinkedIn urls{"urls":["https://www.linkedin.com/in/url1",
"https://www.linkedin.com/in/url2",
"https://www.linkedin.com/in/url3"]}

Example request and response

curl -X POST --include -H "apikey: testapikey"
https://www.signalhire.com/api/v1/candidate/byLinkedInUrl --data
"{\"urls\":[\"https://www.linkedin.com/in/url1\",
\"https://www.linkedin.com/in/url2\"]}"

Which should respond something like : {"requestId":1}
and status code 201

5. Check started request status

API endpoint - GET https://www.signalhire.com/api/v1/candidate/request/

Request parameters

ParameterPlaceTypeDescriptionExample
apikeyRequest headerString, requiredYour secret API key to
authenticate request
apikey: testapikey
equestIdUrl parameterString, requiredId of started request from
previous step
1

Example request and response

curl -x GET --include -H "apikey: testapikey"
https://www.signalhire.com/api/v1/candidate/request/1

Which gives one of the following :

  • status code 204 and body {"status":"In progress"}
  • status code 200 and body like this if finished
    {
      "https:\/\/www.linkedin.com\/in\/url1": {
         "uid": "20000000000000000000000000001001",
         "status": "success"
      },
      "https:\/\/www.linkedin.com\/in\/url2": {
         "uid": null,
         "status": "failed"
      },
      "https:\/\/www.linkedin.com\/in\/url3": {
         "uid": null,
         "status": "credits_are_over"
      }
    }

Status "success" indicates that individual data is collected and ready to return. Status "failed" indicates that server cannot find anything about candidate, for example because given LinkedIn url is not valid. If all contacts credits are used, returned status will be "credits_are_over" for all candidates.

6. Get person’s data

API endpoint - GET https://www.signalhire.com/api/v1/candidate/
Request parameters
apikey - header - string,required -Your secret API key to authenticate request. - apikey: testapikey

uid - url parameter - string, required - - 20000000000000000000000000001001

Request parameters

ParameterPlaceTypeDescriptionExample
apikeyRequest headerString, requiredYour secret API key to authenticate requestapikey: testapikey
uidUrl parameterString, requiredId of individual from previous step20000000000000000000000000001001

Example request and response

curl -X GET --include -H "apikey: testapikey"
https://www.signalhire.com/api/v1/candidate/20000000000000000000000000001001

Which should respond something like :

 {
    "fullName": "FirstName LastName",
    "photo": {
        "url": "link to photo"
    },
    "locations": [
        {
            "name": "some location"
        }
    ],
    "skills": [
        "MySQL",
        "PHP",
        "Digital Marketing",
        "Google Analytics",
        "SEO",
        "Social Media"
    ],
    "education": [
        {
            "faculty": "Building Construction Technology",
            "university": "Poltava National Technical Yuri Kondratyuk University",
            "startedYear": 2005,
            "endedYear": 2010,
            "degree": [
                "Master of building construction"
            ]
        }
    ],
    "experience": [
        {
            "position": "Search Engine Optimization Manager",
            "location": null,
            "current": true,
            "started": "2017-01-01T00:00:00+00:00",
            "ended": null,
            "company": "GBKSOFT - Web & Mobile App Development",
            "summary": "Technical analysis, competitors, content planning, external links, PP\u0421, reporting, making tasks, creative ideas."
        },
        {
            "position": "SEO",
            "location": null,
            "current": false,
            "started": "2015-05-01T00:00:00+00:00",
            "ended": "2016-01-01T00:00:00+00:00",
            "company": "Prodex",
            "summary": "* SEO strategy development for projects: niche analysis, competition analysis, tools selection, smart keywords selection, etc. Provide SEO strategies with timing and budget.\n\n* SEO strategy implementation: keyword plan development, content management, setting tasks for content managers, setting tasks for developers.\n\n* SEO strategy management: daily analysis of project results, implementation of necessary changes, reporting, searching for new or non-standard approaches, experimenting."
        },
        {
            "position": "SEO, Content Manager",
            "location": null,
            "current": false,
            "started": "2015-01-01T00:00:00+00:00",
            "ended": "2015-05-01T00:00:00+00:00",
            "company": "Anex Tour",
            "summary": "Seo promotion of the project for the sale of tickets. Marketing Support Web resource. Content management."
        }
    ],
    "headLine": "SEO | Digital Marketing Manager",
    "summary": "Search Engine Optimization Manager",
    "contacts": [
        {
            "type": "email",
            "value": "developers@site.com",
            "rating": "100"
        },
        {
            "type": "phone",
            "value": "+44 (0)848745 4545",
            "rating": "100"
        },
        {
            "type": "email",
            "value": "full.email.available@business.subscription",
            "rating": "70"
        }
    ],
    "social": [
        {
            "type": "li",
            "link": "https:\/\/www.linkedin.com\/in\/url1",
            "rating": "100"
        },
        {
            "type": "fb",
            "link": "https:\/\/www.facebook.com\/url1",
            "rating": "100"
        },
        {
            "type": "li",
            "link": "https:\/\/www.linkedin.com\/in\/another-link",
            "rating": "100"
        }
    ]
}

By using SignalHire API you agree with our Terms of Use, Privacy Policy, and GDPR Compliance