NAV Navbar
Logo
cURL Raw HTTP Python Ruby PHP JS ES5 JS ES6

Introduction

Welcome to the Fasttrack’s API! You can use this API to access our leads database. 2 endpoints are accessible:

For ease of use, you can consume our API through the fasttrack-client library available in Python, Ruby, PHP, and Javascript. Please see the library’s Github page

You can also use our API through our graphical interface

If you want to know more about us and what we are doing, feel free to visit our Fasttrack website.

Requests Headers

curl -X GET "{api_endpoint}"
  -H "Authorization: {your_token}"
  -H "Accept: application/vnd.fasttrack+json; version=1"
GET {api_endpoint} HTTP/1.1
Host: https://api.fasttrack-intl.com
Authorization: Token {your_token}
Accept: application/vnd.fasttrack+json; version=1
# No header to set up with the Python library.
# No header to set up with the Ruby library.
<?php
# No header to set up with the PHP library.
?>
// No header to set up with the JS library.
// No header to set up with the JS library.

Make sure to replace {your_token} with your API key and {api_endpoint} with the right endpoint (see the Retrieving Data section below).

Please see on the right the headers you should put in all your API requests.

Headers include 3 important information:

Please see below for more details.

Authentication

Fasttrack uses API keys to allow access to the API. You can ask for a new Fasttrack API key by contacting us at info@fasttrack-intl.com.

Fasttrack expects the API key to be included in all the API requests to the server in a header that looks like the following:

Authorization: Token {your_token}

Vendor

Make sure you include the Fasttrack vendor media type in the Accept header.

Fasttrack expects the vendor media type to be included in all the API requests to the server along with the API version in the following header:

Accept: application/vnd.fasttrack+json; version=1

Versioning

Fasttrack API uses a versioning system. Current version is version 1.

Specify the version as part of the media type in the Accept header. The version is included as a media type parameter, that supplements the main media type.

Fasttrack expects the API version to be included in all the API requests to the server along with the vendor media type in the following header:

Accept: application/vnd.fasttrack+json; version=1

Installing fasttrack-client

fasttrack-client helps you consume the API using your favorite programming language.

The fasttrack-client library is available in 4 languages: Python, Ruby, PHP, and Javascript. Please see the library’s Github page.

Install instructions:

Python

Add the following to your requirements.txt:

fasttrack-client

and then run:

pip install -r requirements.txt

Ruby

Add the following to your Gemfile:

gem 'fasttrack-client'

And then run:

bundle install

PHP

Add the following to your composer.json:

{"require": {"fasttrack/fasttrack-client": "*"} }

and then run:

composer install

Javascript

Run:

npm install --save fasttrack-client

Retrieving Data

2 endpoints are accessible:

Company API

Request

curl -X GET "https://api.fasttrack-intl.com/company?domain={your_parameter}"
  -H "Authorization: {your_token}"
  -H "Accept: application/vnd.fasttrack+json; version=1"
GET /company?domain={your_parameter} HTTP/1.1
Host: https://api.fasttrack-intl.com
Authorization: Token {your_token}
Accept: application/vnd.fasttrack+json; version=1
from fasttrack_client import Client

client = Client('{your_token}')

try:
  response = client.get_company('{your_parameter}')
  print(response)
except Exception as e:
  print(e)
require 'fasttrack-client'

client = FastTrack::Client.new('{your_token}')

begin
  company = client.get_company('{your_parameter}')
  puts company
rescue Exception => e
  puts e
end

<?php
require 'vendor/autoload.php';

use Fasttrack\Fasttrack;

$client = new \Fasttrack\Fasttrack('{your_token}');

try {
  $company = $client->getCompany('{your_parameter}');
  print_r($company);
} catch (Exception $err) {
  print_r($err);
}
?>
var Fasttrack = require('fasttrack-client').default;

var client = new Fasttrack('{your_token}');

client.getCompany('{your_parameter}')
.then(function(company) {
  console.log(company);
})
.catch(function(err) {
  console.error(err);
});
import Fasttrack from 'fasttrack-client';

var client = new Fasttrack('{your_token}');

client.getCompany('{your_parameter}')
.then((company) => {
  console.log(company);
})
.catch((err) => {
  console.error(err);
});

The endpoint for the Company API is https://api.fasttrack-intl.com/company

You can retrieve company details from this endpoint by providing the endpoint with a domain parameter through GET http method (e.g. chartreuse-medical.com).

Response

The JSON encoded response looks like this:

{
  "email": "contact@chartreuse-medical.com",
  "name": "Chartreuse high-tech medical device",  
  "formatted_address": "2 Oxford Street, London, United-Kingdom",
  "types": [
    "Supplier",
    "Service Provider"
  ],
  "description": "Diagnostic Apparatus, Medical",
  "founded": "1847",
  "website_url": "http://www.chartreuse-medical.com/index.html",
  "size": "+ 10 000 employees",
  "phone": "+49 89 63600",
  "industries": [
    "Hospital, Health Care",
    "Medical Device"
  ],
  "linkedin_url": "https://www.linkedin.com/company/chartreuse-medical",
  "last_updated": "2017-03-26T23:33:39Z"
}

The JSON response contains the following attributes if available:

Attribute Description
email string
Company email
name string
Company name
formatted_address string
Company address
types array
Type of company. Several types are possible.
description string
Description of the company’s activity
founded string
Year of creation
website_url string
Company website
size string
Company size range
phone string
Company phone
industries array
Industries the company belongs to. Several industries are possible.
linkedin_url string
Linkedin page of the company
last_updated date
Date of the last data update

Contact API

Request

curl -X GET "https://api.fasttrack-intl.com/contact?email={your_parameter}"
  -H "Authorization: {your_token}"
  -H "Accept: application/vnd.fasttrack+json; version=1"
GET /contact?email={your_parameter} HTTP/1.1
Host: https://api.fasttrack-intl.com
Authorization: Token {your_token}
Accept: application/vnd.fasttrack+json; version=1
from fasttrack_client import Client

client = Client('{your_token}')

try:
  response = client.get_contact('{your_parameter}')
  print(response)
except Exception as e:
  print(e)
require 'fasttrack-client'

client = FastTrack::Client.new('{your_token}')

begin
  company = client.get_contact('{your_parameter}')
  puts company
rescue Exception => e
  puts e
end
<?php
require 'vendor/autoload.php';

use Fasttrack\Fasttrack;

$client = new \Fasttrack\Fasttrack('your_token');

try {
  $company = $client->getContact('{your_parameter}');
  print_r($company);
} catch (Exception $err) {
  print_r($err);
}
?>
var Fasttrack = require('fasttrack-client').default;

var client = new Fasttrack('{your_token}');

client.getContact('{your_parameter}')
.then(function(contact) {
  console.log(contact);
})
.catch(function(err) {
  console.error(err);
});
import Fasttrack from 'fasttrack-client';

var client = new Fasttrack('{your_token}');

client.getContact('{your_parameter}')
.then((contact) => {
  console.log(contact);
})
.catch((err) => {
  console.error(err);
});

The endpoint for the Contact API is https://api.fasttrack-intl.com/contact

You can retrieve contact details from this endpoint by providing the endpoint with an email parameter through GET http method (e.g. franck.dupuis@gmail.com).

Response

The JSON encoded response looks like this:

{
  "title": "Executive Director, GMP Quality Assurance",
  "first_name": "Franck",
  "last_name": "Dupuis",
  "location": "2 Rue de Belledonne, 73000 Chambéry, France",
  "company": "ST Microelectronics",
  "linkedin_url": "https://www.linkedin.com/in/franck-dupuis-64b2359"
}

The JSON response contains the following attributes if available:

Attribute Description
title string
Position of the contact in his company
first_name string
First name of the contact
last_name string
Last name of the contact
location string
Contact address
company string
Company the contact is working for
linkedin_url string
Linkedin page of the contact

Rate Limiting

In order to prevent from abnormal use of the API, we implement a rate limitation. You can make until 650 requests per minute. If you go above this point you will get a HTTP 429 error (see Generic Errors) and the number of seconds you have to wait until your next request will be mentioned in the JSON response like this:

Request was throttled. Expected available in 32.5 seconds

If you’re running into this error while you think you should not, or if you need a custom higher rate, feel free to send us an email at support@fasttrack-intl.com

Errors

The Fast Track API implements 2 kinds of error codes:

Errors can be handled easily thanks to the fasttrack-client library in Python, Ruby, PHP, and Javascript.

Generic Errors

Here are the HTTP response/error codes implemented by the Fast Track API:

Code Description
200 Ok – The request was successful
400 Bad Request – The request is malformed
401 Unauthorized – Your API key is wrong
402 Payment Required – You should upgrade your account
404 Not Found – The specified endpoint could not be found
405 Method Not Allowed – You tried to access an endpoint with an invalid method
406 Not Acceptable – You requested a format that isn’t json
429 Too Many Requests – You made too many requests on the API in a short period of time (see Rate Limiting)
50X Internal Server Error – We had a problem with our server, this is not your fault. An administrator is informed.

Detailed Errors

The JSON encoded error response looks like this for example:

{
  "error_code": "3",
  "detail": "Please send parameters through GET method"
}
Code Description
1 Please send API version in the HTTP Accept headers. Please make sure you pass the API version in the Accept HTTP headers (see Versioning). Example: application/vnd.fasttrack+json; version=v1
2 No result matching your request. We could not find any result.
3 Please send parameters through GET method. Make sure you did not mistype the parameter, and make sure you are using a the GET HTTP method.
4 The API version is invalid. Please make sure you pass a correct API version. Current version is 1.
5 API quota exceeded. You should upgrade your account in order to get more requests.

fasttrack-client Errors

# No fasttrack-client library used
# No fasttrack-client library used
from fasttrack_client import Client
from fasttrack_client import exceptions

client = Client('{your_token}')

try:
  response = client.get_company('{your_parameter}')
except exceptions.UnauthorizedException:
  # handle exception here
require 'fasttrack-client'

client = FastTrack::Client.new('{your_token}')

begin
  response = client.get_company('{your_parameter}')
rescue FastTrack::UnauthorizedException
  # handle exception here
end
<?php
require 'vendor/autoload.php';

use Fasttrack\Fasttrack;
use Fasttrack\Exceptions;

$client = new \Fasttrack\Fasttrack('{your_token}');

try {
  $company = $client->getContact('{your_parameter}');
} catch (\Fasttrack\Exceptions\UnauthorizedException $e) {
  # handle exception here
}
?>
var Fasttrack = require('fasttrack-client').default

var client = new Fasttrack('{your_token}');

client.getCompany('{your_parameter}')
.then(function(company) {
  console.log(company);
})
.catch(function(err) {
  switch (err.name) {
    case 'UnauthorizedError':
      // handle exception here
    default:
      console.log('Error : ', err);
  }
});
import Fasttrack from 'fasttrack-client';

var client = new Fasttrack('{your_token}');

client.getCompany('{your_parameter}')
.then((company) => {
  console.log(company);
})
.catch((err) => {
  switch (err.name) {
    case 'UnauthorizedError':
      // handle exception here
    default:
      console.log('Error : ', err);
  }
});

See the example on the right showing how to handle the UnauthorizedException exception.

Code Description
BadParametersException send parameters through GET method
BadRequestException request is malformed
InternalServerException
InvalidVersionException API version is invalid
MethodNotAllowedException you tried to access an endpoint with an invalid method
NoResultException no result matching your request
NotAcceptableException you requested a format that is not json
NotFoundException specified endpoint could not be found
TooManyRequestsException you made too many requests on the API in a short period of time
UnauthorizedException API key is wrong
VersionRequiredException send API version in the HTTP Accept headers