NAV Navbar
Python Shell NodeJS

Vainu API v1.0.0

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Vainu API enables users to integrate Vainu’s prospect information and leads to their CRM or other services.

URLs

The base URL for the vainu apis is https://api.vainu.io/api/v1/

Datetime format

All datetime values are in ISO8601 format.

Status codes

List of status and error codes and their definitions.

Authentication

All parts of our API require authentication. We offer traditional HTTP basic access authentication and API key authentication.

Additionally, API Permissions must be enabled on the user account that is used to authenticate API requests.

Successful authentication allows access to corresponding resources as the used user credentials include.

Basic Access authentication

Basic access authentication – commonly referred to as "basic auth" or HTTP authentication – uses the same login credentials as the web interface.

Simply add Authorization header to your request with a base64 encoded username and password. Example header: Authorization: Basic <base64(username:password)>.

API Key authentication

API-Key: c031d56b97320ab3c0690850d52d8059d998f4d7851b3c15e2586b5594745aee

API keys are obtained through the web interface. In order to generate an API key in the first place, user must have API permissions enabled. Currently three simultaneously active keys per user are allowed.

To generate new API keys and list existing ones, go to Settings and open API Keys -tab. This page lists all active API keys generated by the user and allows fetching their corresponding API tokens.

Deleting keys (and thus preventing their further use) is also possible through this page. API keys also track some information about their use that is displayed on this page.

Default

operationId_target_group{target_group_id}leads

Code samples

import requests
headers = {
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 

r = requests.operationId('https://api.vainu.io/api/v1/target_group/{target_group_id}/leads/',
    params={},
    headers=headers
)

print r.json()


curl -X OPERATIONID https://api.vainu.io/api/v1/target_group/{target_group_id}/leads/ \
  -H 'API-Key: API_KEY'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).

const headers = {
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/target_group/{target_group_id}/leads/',
{
  method: 'OPERATIONID',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

OPERATIONID /target_group/{target_group_id}/leads/

Parameters

Parameter In Type Required Description
target_group_id path string true The id of the object to get.
from_datetime query string false Return all leads from a datetime (ISO_8601 formatted) to now. Valid values are ISO_8601 datetimes between now and (now - 60 days)

Responses

Status Meaning Description Schema

customer_data

The customer_data API allows you to store data about customers (prospects) in the Vainu database, so that it can be used in the Vainu website to aid in various tasks. It also serves as a link between the prospects in your own database, and the ones in Vainu's database.

Configuring Customer API integration

An example request body that is sent when exporting from Vainu:

    {
      "email": "pietari@vainu.io",
      "visiting_municipality": "HELSINKI",
      "turnover_estimate": null,
      "turn_over_local": "2069292.78",
      "twitter_link": "https://twitter.com/vainuio?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor",
      "visiting_postal": "00100",
      "id": "5b92523ac080c66a45f61e3f",
      "vainu_link": "https://app.vainu.io/vainu/prospect/708216/",
      "industry_code": "6201",
      "development_of_turnover": "-4.3",
      "postal": "00100",
      "company_name": "Vainu. io Software Oy",
      "facts": [
        {
          "value": "Startup",
          "type": "theme"
        },
        {
          "value": "SaaS",
          "type": "domain"
        }
      ],
      "profit": "-15.2",
      "visiting_address": "Arkadiankatu 6 D",
      "mother_foreign": null,
      "industry_code_5": 62010,
      "industry_code_2": 62,
      "turn_over": "2069292.78",
      "staff_number": "39",
      "visiting_city": "HELSINKI",
      "registration_date": "2013-8-7",
      "city": "HELSINKI",
      "alexa_rank_global": 352941,
      "industry_codes": [
        "62010"
      ],
      "marketility": 0.8,
      "nstatus": "active",
      "facebook_link": "https://www.facebook.com/vainuio/?hc_ref=SEARCH&fref=nf",
      "region": "FI-18",
      "link": "https://product.vainu.io",
      "phone": "040 834 1005",
      "country": "FI",
      "business_id": "25578642",
      "sociality": 0.6,
      "technologies": [
        "Cloudflare",
        "Google analytics",
        "Twitter Ads",
        "No",
        "Hubspot.net"
      ],
      "visiting_region": "FI-18",
      "staff_number_is_estimate": false,
      "address": "Arkadiankatu 6 D",
      "status": "active",
      "linkedin_id": "3803996",
      "mother": null,
      "municipality": "HELSINKI",
      "digitality": 0.63333333333333,
      "vid": 708216
    }

To allow more comprehensive integration features on our end – such as exporting prospect data directly from the Vainu UI and displaying customizable Customer Data – some configurable functionality is offered on Vainu. These configurations can be accessed via Settings and the Integrations -tab. If the user has the correct permissions enabled, a section named Customer API Configuration is visible at the top of the page.

The configurable values are:

Exporting data

Exporting data is possible through Vainu's UI when the endpoint is defined by clicking on the corresponding export button on prospect cards. The data contains prospect information in a similar format as the Prospect Basic Information API. In addition to the prospect data, the request body also contains the id of the customer_data object, which can be used to access the objects with the customer_data api.

Activity Feed

An example of a valid activity feed response that is used to render information about the prospect on the prospect's page in Vainu (the example shows different kinds of valid objects):

    [
        {
            "timestamp": "2018-05-04T07:11:26.000Z",
            "id": "39acd9dc9a9db",
            "header": "Email",
            "text": "Description of the email",
            "type": "email",
            "hide_time": false,
            "user_email": "example@vainu.io",
            "icon": "email"
        },
        {
            "timestamp": "2018-05-04",
            "value": 2000,
            "probability_percent": 20,
            "currency": "EUR",
            "text": "description of opportunity",
            "type": "open",
            "id": "28acd9dc9a9dc",
            "user_email": "example@vainu.io"
        },
        {
            "timestamp": "2019-05-04",
            "hide_time": true,
            "text": "This is a note for prospect with unique_id: lk2lk23",
            "type": "note",
            "id": "11acd9dc9a911",
            "user_email": "example@vainu.io"
        },
        {
            "timestamp": 1497945068,
            "value": 2000,
            "header": "Victory",
            "text": "description of won deal",
            "type": "won",
            "id": "bbacd9dc9a9aa",
            "user_email": "example@vainu.io"
        },
        {
            "timestamp": 1497945061000,
            "value": 2000,
            "text": "description of lost deal",
            "type": "lost",
            "id": "ccacd9dc9a999",
            "user_email": "example@vainu.io"
        },
        {
            "timestamp": 1497945061000,
            "location": "Helsinki",
            "text": "description of meeting",
            "type": "meeting",
            "id": "ccacd9dc9a999",
            "user_email": "example@vainu.io"
        }
    ]

Activity Feed allows displaying custom data on Vainu's UI regarding the latest activity with a customer. This includes events like phone calls, meetings, e-mails, notes, lost/won deals, etc... Activity Feed is fetched real time for always displaying up-to-date information and to eliminate the need for saving this possibly delicate data on our end. In order to fetch and display activity data, the configurations should be correctly defined and your endpoint needs to return a json array of objects describing recent events relating to the prospect.

The Activity Feed URL is defined as follows:

Activity feed URL in your Vainu settings:

https://your.external.service/Entity/{}/details

When user opens a prospect card with associated Customer Data that has unique_id value of 123-abc, a request is sent to the parsed address

https://your.external.service/Entity/123-abc/details

A description of the properties of the event objects:

Modifying queries

Query parameters

The GET, PATCH and DELETE methods of the /customer_data/ endpoint support various query parameters that allow you to filter the results of the operations. In addition to the parameters that are listed, it is possible to append the parameter names with one of the following to filter based on other than equality
(for example ?won_deals_count__gte=3):

Ordering

Use the query parameter ordering to sort based on a field. A minus sign reverses the order. For example:

?ordering=-open_deals_count

Pagination

By default 100 results are shown per page. This can be modified by using the page_size parameter, and the page number can be specified with the page parameter. A maximum of 500 results per page is supported. Results include links to the next and previous pages, and null if no more pages are available.

Create customer_data object by matching with a vainu prospect

Code samples

import requests
headers = {
  'Content-Type': 'application/json', 
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 
body = {
  "owner_email": "example@vainu.io",
  "unique_id": "f39a1a59",
  "won_deals_count": 2,
  "open_deals_count": 1,
  "lost_deals_count": 0,
  "notes": "string",
  "last_update": "2018-06-08",
  "vid": 463880794,
  "exact_name": "Vainu Finland Oy",
  "normalize_name": "vainu",
  "business_id": "2822996-6",
  "country": "FI"
}
r = requests.post('https://api.vainu.io/api/v1/customer_data/',
    params={},
    json=body,
    headers=headers
)

print r.json()


curl -X POST https://api.vainu.io/api/v1/customer_data/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY' \
  --data '{"owner_email":"example@vainu.io","unique_id":"f39a1a59","won_deals_count":"2","open_deals_count":"1","lost_deals_count":"0","notes":"string","last_update":"2018-06-08","vid":"463880794","exact_name":"Vainu Finland Oy","normalize_name":"vainu","business_id":"2822996-6","country":"FI"}'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).
const inputBody = {
  "owner_email": "example@vainu.io",
  "unique_id": "f39a1a59",
  "won_deals_count": 2,
  "open_deals_count": 1,
  "lost_deals_count": 0,
  "notes": "string",
  "last_update": "2018-06-08",
  "vid": 463880794,
  "exact_name": "Vainu Finland Oy",
  "normalize_name": "vainu",
  "business_id": "2822996-6",
  "country": "FI"
};
const headers = {
  'Content-Type':'application/json',  
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/customer_data/',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /customer_data/

Save data into the object and match with a prospect in the vainu database.

The customer_data object will be linked to a prospect based on the matching parameters that are included in the request body. Only one customer_data object is allowed for each prospect. A request body must include a matching parameter.

The possible matching parameters, ordered by matching priority:

  1. vid (the Vainu id of the prospect)
  2. business_id
  3. exact_name
  4. normalize_name

Only one of these matching parameters is used to find the correct prospect. If more than one is given, only the one with the highest priority is taken into account. Additional parameters can be given to narrow down the number of possible matches:

Descriptions of the matching parameters:

vid:

The vainu id is the unique integer identifier of every prospect. It can be found, for example in the url when viewing the prospect on Vainu's website. Matching with a vainu id will always match one or zero prospects, so any additional matching parameters will be ignored.

business_id:

It is highly recommended to include the country of the business to avoid matching businesses with the same id in other countries. The format of this parameter varies depending on the country.

exact_name:

The exact name of the business as found on Vainu's website. Case insensitive.

normalize_name:

The value given is converted to a normalized form, where common endings and prefixes are stripped. The conversion depends on the given country, so for accurate results, a country should be given. A name without endings is kept as is.

The converted value is then matched with normalized names in Vainu's database. Using this parameter often fails to find a unique match, but this may be desired behaviour if a prospect in a CRM should be matched with multiple prospects in Vainu, or if the user should manually select the best match. Case insensitive.

country:

A two-letter country code (ISO 3166-1 alpha-2) of the prospect. Case insensitive.

Multiple possible matches:

If the given parameters return multiple matches, an error is returned that includes a list of possible matches. If matching with one or more of the returned prospects is desired, it is recommended to use the given vid s to send more requests.

Create multiple customer_data object with one asynchronous request:

Initiating the creation of multiple customer_data object is done in the same way as for single customer_data object, but instead of a single object, the request body should include an array of the same objects as when creating a single customer_data object. The response does not include the results, but an object with a link, and sending a GET request to the given address returns the results that have been completed so far and the state of the process. See GET /async_result/batch-import/{job_id}/ Only one process is allowed at a time. If you need to stop a previous process, see DELETE /async_result/batch-import/{job_id}/

Body parameter

{
  "owner_email": "example@vainu.io",
  "unique_id": "f39a1a59",
  "won_deals_count": 2,
  "open_deals_count": 1,
  "lost_deals_count": 0,
  "notes": "string",
  "last_update": "2018-06-08",
  "vid": 463880794,
  "exact_name": "Vainu Finland Oy",
  "normalize_name": "vainu",
  "business_id": "2822996-6",
  "country": "FI"
}

Parameters

Parameter In Type Required Description
body body #/components/schemas_hide/CustomerDataPost false none

Example responses

200 Response

{
  "owner_email": "example@vainu.io",
  "unique_id": "f39a1a59",
  "won_deals_count": 2,
  "open_deals_count": 1,
  "lost_deals_count": 0,
  "notes": "string",
  "last_update": "2018-06-08",
  "won": true,
  "origin": "PublicApi",
  "modified": "2018-06-09T12:30:39.923Z",
  "created": "2018-06-09T12:20:21.341Z",
  "prospect_info": {
    "vid": 463880794,
    "company_name": "Vainu Finland Oy",
    "business_id": "2822996-6",
    "country": "FI",
    "domain": "vainu.io"
  },
  "id": "2b1961522a6e7f19c3e5ac08",
  "prospect": 463880794
}

Responses

Status Meaning Description Schema
200 OK OK CustomerData
200 Unknown OK, response to async post Inline
400 Unknown Match parameter missing Inline
400 Unknown Invalid business id or insufficient country permissions Inline
400 Unknown Match not found Inline
400 Unknown Multiple possible matches Inline
400 Unknown Match parameter missing Inline
400 Unknown Multiple possible matches for business id Inline
409 Unknown Link already exists Inline
409 Unknown Async process already exists. Inline

Response Schema

Get multiple customer_data objects

Code samples

import requests
headers = {
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 

r = requests.get('https://api.vainu.io/api/v1/customer_data/',
    params={},
    headers=headers
)

print r.json()


curl -X GET https://api.vainu.io/api/v1/customer_data/ \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).

const headers = {
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/customer_data/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /customer_data/

Parameters

Parameter In Type Required Description
won_deals_count query integer false Filter
lost_deals_count query integer false Filter
open_deals_count query integer false Filter
won query boolean false Filter
unique_id query string false Filter
owner_email query string false Filter
last_update query string false Filter
prospect query string false Filter by vid

Example responses

200 Response

{
  "total_results": 1,
  "next_page": "https://api.vainu.io/api/v1/customer_data/?page=2",
  "prev_page": null,
  "results": [
    {
      "owner_email": "example@vainu.io",
      "unique_id": "f39a1a59",
      "won_deals_count": 2,
      "open_deals_count": 1,
      "lost_deals_count": 0,
      "notes": "string",
      "last_update": "2018-06-08",
      "won": true,
      "origin": "PublicApi",
      "modified": "2018-06-09T12:30:39.923Z",
      "created": "2018-06-09T12:20:21.341Z",
      "prospect_info": {
        "vid": 463880794,
        "company_name": "Vainu Finland Oy",
        "business_id": "2822996-6",
        "country": "FI",
        "domain": "vainu.io"
      },
      "id": "2b1961522a6e7f19c3e5ac08",
      "prospect": 463880794
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK OK #/components/schemas_hide/Page
400 Bad Request Invalid query Inline

Response Schema

Modify multiple customer_data objects

Code samples

import requests
headers = {
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 

r = requests.patch('https://api.vainu.io/api/v1/customer_data/',
    params={},
    headers=headers
)

print r.json()


curl -X PATCH https://api.vainu.io/api/v1/customer_data/ \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).

const headers = {
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/customer_data/',
{
  method: 'PATCH',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /customer_data/

Update all objects that match the query in the url. Returns objects that are found based on the query after modification. If the query includes fields that were modified, this will NOT return the modified objects, but what is found with a new query. This is equivalent to using PATCH on every object individually, except that changing the prospect is not possible.

Warning: Doing this without any query parameters will modify EVERY customer_data object you have access to!!

Parameters

Parameter In Type Required Description
won_deals_count query integer false Filter
lost_deals_count query integer false Filter
open_deals_count query integer false Filter
won query boolean false Filter
unique_id query string false Filter
owner_email query string false Filter
last_update query string false Filter
prospect query string false Filter by vid

Example responses

200 Response

{
  "total_results": 1,
  "next_page": "https://api.vainu.io/api/v1/customer_data/?page=2",
  "prev_page": null,
  "results": [
    {
      "owner_email": "example@vainu.io",
      "unique_id": "f39a1a59",
      "won_deals_count": 2,
      "open_deals_count": 1,
      "lost_deals_count": 0,
      "notes": "string",
      "last_update": "2018-06-08",
      "won": true,
      "origin": "PublicApi",
      "modified": "2018-06-09T12:30:39.923Z",
      "created": "2018-06-09T12:20:21.341Z",
      "prospect_info": {
        "vid": 463880794,
        "company_name": "Vainu Finland Oy",
        "business_id": "2822996-6",
        "country": "FI",
        "domain": "vainu.io"
      },
      "id": "2b1961522a6e7f19c3e5ac08",
      "prospect": 463880794
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK OK #/components/schemas_hide/Page
400 Bad Request Invalid query Inline

Response Schema

Delete multiple customer_data objects

Code samples

import requests
headers = {
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 

r = requests.delete('https://api.vainu.io/api/v1/customer_data/',
    params={},
    headers=headers
)

print r.json()


curl -X DELETE https://api.vainu.io/api/v1/customer_data/ \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).

const headers = {
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/customer_data/',
{
  method: 'DELETE',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /customer_data/

Deletes all customer_data objects that match the query. You can use the GET method with the same query parameters to see what would be deleted

Warning: Doing this without any query parameters will delete EVERY customer_data object you have access to!!

Parameters

Parameter In Type Required Description
won_deals_count query integer false Filter
lost_deals_count query integer false Filter
open_deals_count query integer false Filter
won query boolean false Filter
unique_id query string false Filter
owner_email query string false Filter
last_update query string false Filter
prospect query string false Filter by vid

Example responses

200 Response

{
  "deleted": 2
}

Responses

Status Meaning Description Schema
200 OK OK Inline
400 Bad Request Invalid query Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
» deleted integer false none none

Get customer_data object by id

Code samples

import requests
headers = {
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 

r = requests.get('https://api.vainu.io/api/v1/customer_data/{id}/',
    params={},
    headers=headers
)

print r.json()


curl -X GET https://api.vainu.io/api/v1/customer_data/{id}/ \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).

const headers = {
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/customer_data/{id}/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /customer_data/{id}/

Get the customer_data object specified by the id.

Parameters

Parameter In Type Required Description
id path string true The id of the object to get

Example responses

200 Response

{
  "owner_email": "example@vainu.io",
  "unique_id": "f39a1a59",
  "won_deals_count": 2,
  "open_deals_count": 1,
  "lost_deals_count": 0,
  "notes": "string",
  "last_update": "2018-06-08",
  "won": true,
  "origin": "PublicApi",
  "modified": "2018-06-09T12:30:39.923Z",
  "created": "2018-06-09T12:20:21.341Z",
  "prospect_info": {
    "vid": 463880794,
    "company_name": "Vainu Finland Oy",
    "business_id": "2822996-6",
    "country": "FI",
    "domain": "vainu.io"
  },
  "id": "2b1961522a6e7f19c3e5ac08",
  "prospect": 463880794
}

Responses

Status Meaning Description Schema
200 OK OK CustomerData
404 Not Found Not found None

Modify customer_data object

Code samples

import requests
headers = {
  'Content-Type': 'application/json', 
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 
body = {
  "owner_email": "example@vainu.io",
  "unique_id": "f39a1a59",
  "won_deals_count": 2,
  "open_deals_count": 1,
  "lost_deals_count": 0,
  "notes": "string",
  "last_update": "2018-06-08",
  "vid": 463880794,
  "exact_name": "Vainu Finland Oy",
  "normalize_name": "vainu",
  "business_id": "2822996-6",
  "country": "FI"
}
r = requests.patch('https://api.vainu.io/api/v1/customer_data/{id}/',
    params={},
    json=body,
    headers=headers
)

print r.json()


curl -X PATCH https://api.vainu.io/api/v1/customer_data/{id}/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY' \
  --data '{"owner_email":"example@vainu.io","unique_id":"f39a1a59","won_deals_count":"2","open_deals_count":"1","lost_deals_count":"0","notes":"string","last_update":"2018-06-08","vid":"463880794","exact_name":"Vainu Finland Oy","normalize_name":"vainu","business_id":"2822996-6","country":"FI"}'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).
const inputBody = {
  "owner_email": "example@vainu.io",
  "unique_id": "f39a1a59",
  "won_deals_count": 2,
  "open_deals_count": 1,
  "lost_deals_count": 0,
  "notes": "string",
  "last_update": "2018-06-08",
  "vid": 463880794,
  "exact_name": "Vainu Finland Oy",
  "normalize_name": "vainu",
  "business_id": "2822996-6",
  "country": "FI"
};
const headers = {
  'Content-Type':'application/json',  
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/customer_data/{id}/',
{
  method: 'PATCH',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /customer_data/{id}/

Modify a customer_data object. If match parameters are included, will try to make a new match.

Body parameter

{
  "owner_email": "example@vainu.io",
  "unique_id": "f39a1a59",
  "won_deals_count": 2,
  "open_deals_count": 1,
  "lost_deals_count": 0,
  "notes": "string",
  "last_update": "2018-06-08",
  "vid": 463880794,
  "exact_name": "Vainu Finland Oy",
  "normalize_name": "vainu",
  "business_id": "2822996-6",
  "country": "FI"
}

Parameters

Parameter In Type Required Description
id path string true The id of the object that needs to be modified.
body body #/components/schemas_hide/CustomerDataPost false none

Example responses

404 Response

{
  "detail": "Not found"
}

Responses

Status Meaning Description Schema
200 OK OK None
404 Not Found Not found Inline
400 Unknown Invalid business id or insufficient country permissions Inline
400 Unknown Match not found Inline
400 Unknown Multiple possible matches Inline
400 Unknown Match parameter missing Inline
400 Unknown Multiple possible matches for business id Inline
409 Unknown Link already exists Inline

Response Schema

Delete customer_data object

Code samples

import requests
headers = {
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 

r = requests.delete('https://api.vainu.io/api/v1/customer_data/{id}/',
    params={},
    headers=headers
)

print r.json()


curl -X DELETE https://api.vainu.io/api/v1/customer_data/{id}/ \
  -H 'API-Key: API_KEY'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).

const headers = {
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/customer_data/{id}/',
{
  method: 'DELETE',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /customer_data/{id}/

Delete the customer_data object specified by the id.

Parameters

Parameter In Type Required Description
id path string true The id of the object that needs to be deleted.

Responses

Status Meaning Description Schema
200 OK OK None
404 Not Found Not found None

async_result

View the status of creating multiple customer_data objects with POST /customer_data/, or stop a resulting process.

Poll the status of an asynchronous task

Code samples

import requests
headers = {
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 

r = requests.get('https://api.vainu.io/api/v1/async_result/batch-import/{job_id}/',
    params={},
    headers=headers
)

print r.json()


curl -X GET https://api.vainu.io/api/v1/async_result/batch-import/{job_id}/ \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).

const headers = {
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/async_result/batch-import/{job_id}/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /async_result/batch-import/{job_id}/

The response includes the results (with possible error codes) that have been completed so far and the state of the process.

Possible values for state are "process" (the process is running), "failure" (the process has failed), stopped" (the process has been stopped by the user) and "completed" (the process has completed).

Parameters

Parameter In Type Required Description
job_id path string true The id of the job

Example responses

200 Response

{
  "job_id": "2096be0a-817d-40b6-b743-cff45f777c21",
  "created": "2018-06-15T11:47:39.479000",
  "results": [
    {
      "match_parameters": {
        "exact_name": "Vainu Finland Oy"
      },
      "matched_prospect": {
        "country": "FI",
        "domain": "vainu.io",
        "company_name": "Vainu Finland Oy",
        "vid": 463880794,
        "business_id": "28229966"
      },
      "id": "5b237d31d3fee90010d1b1d4",
      "success": true,
      "error": null
    },
    {
      "success": false,
      "matched_prospect": null,
      "existing_id": "5b237d31d3fee90010d1b1d4",
      "match_parameters": {
        "exact_name": "Vainu Finland Oy"
      },
      "error": "MATCH_ALREADY_EXISTS",
      "id": null
    },
    {
      "match_parameters": {
        "business_id": "324-123"
      },
      "matched_prospect": null,
      "id": null,
      "success": false,
      "error": "INVALID_BUSINESSID"
    },
    {
      "max_number_of_matches_shown": 100,
      "success": false,
      "matched_prospect": null,
      "match_parameters": {
        "normalize_name": "vainu"
      },
      "possible_matches": [
        {
          "country": "US",
          "domain": null,
          "company_name": "VAINU INC.",
          "vid": 605731521,
          "business_id": "US_DE6240535"
        },
        {
          "country": "FI",
          "domain": "vainu.io",
          "company_name": "Vainu Finland Oy",
          "vid": 463880794,
          "business_id": "28229966"
        },
        {
          "country": "US",
          "domain": "vainu.io",
          "company_name": "VAINU INC.",
          "vid": 339608722,
          "business_id": "US_NY5058589"
        }
      ],
      "number_of_matches": 3,
      "error": "MULTIPLE_POSSIBLE_MATCHES",
      "id": null
    }
  ],
  "state": "completed",
  "link": "https://api.vainu.io/api/v1/async_result/batch-import/2096be0a-817d-40b6-b743-cff45f777c21/",
  "duration": "7.14",
  "progress": 100
}

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
» job_id string false none none
» results [object] false none An array describing the results that have been completed. Includes the same error codes as when creating single objects.
»» error string false none none
»» id string false none none
»» success boolean false none none
» state string false none none
» link string false none none
» duration string false none none
» progress integer false none percent completed

Stop an asynchronous task

Code samples

import requests
headers = {
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 

r = requests.delete('https://api.vainu.io/api/v1/async_result/batch-import/{job_id}/',
    params={},
    headers=headers
)

print r.json()


curl -X DELETE https://api.vainu.io/api/v1/async_result/batch-import/{job_id}/ \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).

const headers = {
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/async_result/batch-import/{job_id}/',
{
  method: 'DELETE',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /async_result/batch-import/{job_id}/

Stops the asynchronous task specified by job_id. Returns the state of the task like with GET, but state is now "stopped".

Parameters

Parameter In Type Required Description
job_id path string true The id of the job

Example responses

200 Response

{
  "job_id": "b1fd98ea-c575-4773-b995-74187facf042",
  "created": "2018-06-13T10:11:13.885000",
  "results": [
    {
      "match_parameters": {
        "exact_name": "Vainu Finland Oy"
      },
      "matched_prospect": {
        "country": "FI",
        "domain": "vainu.io",
        "company_name": "Vainu Finland Oy",
        "vid": 463880794,
        "business_id": "28229966"
      },
      "id": "5b237d31d3fee90010d1b1d4",
      "success": true,
      "error": null
    },
    {
      "success": false,
      "matched_prospect": null,
      "existing_id": "5b237d31d3fee90010d1b1d4",
      "match_parameters": {
        "exact_name": "Vainu Finland Oy"
      },
      "error": "MATCH_ALREADY_EXISTS",
      "id": null
    }
  ],
  "state": "stopped",
  "link": "https://api.vainu.io/api/v1/async_result/batch-import/b1fd98ea-c575-4773-b995-74187facf042/",
  "progress": 67
}

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

prospect

Prospect Basic Information

Code samples

import requests
headers = {
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 

r = requests.get('https://api.vainu.io/api/v1/prospect/{BUSINESS_ID_without_dash}/',
    params={},
    headers=headers
)

print r.json()


curl -X GET https://api.vainu.io/api/v1/prospect/{BUSINESS_ID_without_dash}/ \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).

const headers = {
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/prospect/{BUSINESS_ID_without_dash}/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /prospect/{BUSINESS_ID_without_dash}/

Get basic information about a prospect.

Parameters

Parameter In Type Required Description
BUSINESS_ID_without_dash path string true The business id. For example: FI09704098

Example responses

200 Response

{
  "business_id": "09704098",
  "status": "active",
  "registration_date": "1994-6-8",
  "company_name": "Oy Samlink Ab",
  "link": "www.samlink.fi",
  "phone": "09548050",
  "industry_code_2": 62,
  "industry_code_5": 62010,
  "industry_code": "62010",
  "address": "Linnoitustie 9",
  "postal": "02600",
  "city": "ESPOO",
  "visiting_address": "Linnoitustie 9",
  "visiting_postal": "02600",
  "visiting_city": "ESPOO",
  "country": "FI",
  "turn_over": "93116557.0",
  "turn_over_local": null,
  "turnover_estimate": null,
  "profit": "8.0",
  "development_of_turnover": "4.2",
  "staff_number": "399",
  "staff_number_is_estimate": false,
  "vainu_link": "https://app.vainu.io/vainu/prospect/253870/",
  "linkedin_id": "43072",
  "twitter_link": "http://twitter.com/khttps://twitter.com/Samlink_Oy?lang=firiesi",
  "facebook_link": "https://www.facebook.com/Samlinkoy/?fref=ts",
  "technologies": [
    "Apache",
    "Google analytics",
    "Wordpress",
    "Fi",
    "En",
    "Sv",
    "Wordpress 4",
    "Flash",
    "Nb",
    "Wordpress super cache",
    "Sonera.net",
    "Jquery 1.11.3",
    "Twitter",
    "Youtube",
    "_(\"BLOG\")",
    "Www",
    "Javascript",
    "Jquery",
    "Sonera.fi",
    "Vimeo",
    "_(\"RESPONSIVE\")",
    "Facebook",
    "Doubleclick",
    "Google maps",
    "Google font api",
    "Dropbox",
    "_(\"OWN_EMAIL_SERVER\")",
    "Php",
    "un",
    "Yammer"
  ],
  "digitality": 0.1,
  "sociality": 0.1,
  "marketility": 0.05,
  "alexa_rank_global": 940296,
  "mother": null,
  "mother_foreign": null
}

Responses

Status Meaning Description Schema
200 OK OK Inline
404 Not Found Not found None

Response Schema

Prospect All Information

Code samples

import requests
headers = {
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 

r = requests.get('https://api.vainu.io/api/v1/prospect/{BUSINESS_ID_without_dash}/all/',
    params={},
    headers=headers
)

print r.json()


curl -X GET https://api.vainu.io/api/v1/prospect/{BUSINESS_ID_without_dash}/all/ \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).

const headers = {
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/prospect/{BUSINESS_ID_without_dash}/all/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /prospect/{BUSINESS_ID_without_dash}/all/

Get prospect basic information, financial data and contacts with single API call.

Parameters

Parameter In Type Required Description
BUSINESS_ID_without_dash path string true The business id. For example: FI09704098

Example responses

200 Response

{
  "business_id": "09704098",
  "status": "active",
  "registration_date": "1994-6-8",
  "company_name": "Oy Samlink Ab",
  "link": "www.samlink.fi",
  "phone": "09548050",
  "industry_code_2": 62,
  "industry_code_5": 62010,
  "isic_industry_code": "62010",
  "address": "Linnoitustie 9",
  "postal": "02600",
  "city": "ESPOO",
  "visiting_address": "Linnoitustie 9",
  "visiting_postal": "02600",
  "visiting_city": "ESPOO",
  "country": "FI",
  "turn_over": "93116557.0",
  "turn_over_local": null,
  "turnover_estimate": null,
  "profit": "8.0",
  "development_of_turnover": "4.2",
  "staff_number": "399",
  "staff_number_is_estimate": false,
  "vainu_link": "https://app.vainu.io/vainu/prospect/253870/",
  "linkedin_id": "43072",
  "twitter_link": "http://twitter.com/khttps://twitter.com/Samlink_Oy?lang=firiesi",
  "facebook_link": "https://www.facebook.com/Samlinkoy/?fref=ts",
  "financial_statements": [
    {
      "year": 2014,
      "currency_code": "EUR",
      "turn_over_eur": "11111000.0",
      "turn_over_local": null,
      "turn_over_is_estimate": false,
      "development_of_turnover": "1.1",
      "staff_number": 111,
      "net_income_euro": "11110.0",
      "net_income_local": null,
      "equity_to_assets_ratio": "11.1",
      "account_period_start": null,
      "account_period_end": "2014-12-31"
    },
    {
      "year": 2012,
      "currency_code": "EUR",
      "turn_over_eur": "22222.0",
      "turn_over_local": null,
      "turn_over_is_estimate": false,
      "development_of_turnover": "2.2",
      "staff_number": 2222,
      "net_income_euro": "222200.0",
      "net_income_local": null,
      "equity_to_assets_ratio": "22.0",
      "account_period_start": null,
      "account_period_end": "2012-12-31"
    },
    "..."
  ],
  "contacts": [
    {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john@example.com",
      "phone": null,
      "title": "CTO"
    },
    {
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "jane@example.com",
      "phone": "+123123123123",
      "title": "CEO"
    }
  ],
  "prospect_addresses": [
    {
      "visiting_address": "Visiting street address",
      "visiting_postal": "12345",
      "visiting_city": "HELSINKI",
      "address": "Post address 3",
      "postal": "00180",
      "city": "HELSINKI",
      "office_number": null,
      "office_name": null,
      "business_id": null
    },
    ".."
  ],
  "description": "Companys description of them selves.",
  "digitality": 0.1,
  "sociality": 0.1,
  "marketility": 0.05,
  "alexa_rank_global": 940296,
  "mother": null,
  "mother_foreign": null
}

Responses

Status Meaning Description Schema
200 OK OK Inline
404 Not Found Not found None

Response Schema

Prospect Leads

Code samples

import requests
headers = {
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 

r = requests.get('https://api.vainu.io/api/v1/prospect/{BUSINESS_ID_without_dash}/leads/',
    params={},
    headers=headers
)

print r.json()


curl -X GET https://api.vainu.io/api/v1/prospect/{BUSINESS_ID_without_dash}/leads/ \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).

const headers = {
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/prospect/{BUSINESS_ID_without_dash}/leads/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /prospect/{BUSINESS_ID_without_dash}/leads/

Returns leads for prospect from the previous 90 days.

Parameters

Parameter In Type Required Description
BUSINESS_ID_without_dash path string true The business id. For example: FI09704098

Example responses

200 Response

[
  {
    "prospects": [
      {
        "business_id": "25578642",
        "company_name": "WithinSights Oy"
      },
      {
        "business_id": "01011385",
        "company_name": "Tieto Oyj"
      }
    ],
    "added": "2015-08-20T08:52:50",
    "title": "Tieto ja Sibelius-Seura yhteistyöhön ",
    "link": "http://www.marmai.fi/uutiset/tieto+ja+sibeliusseura+yhteistyohon/a2319760",
    "tags": [
      "Kumppanuudet ja yhteistyöprojektit"
    ],
    "vainu_link": "https://app.vainu.io/vainu/prospect/108324"
  },
  {
    "prospects": [
      {
        "business_id": "01011385",
        "company_name": "Tieto Oyj"
      }
    ],
    "added": "2015-08-18T06:00:00",
    "title": "Tieto and First Investment Bank launch in-house acquiring",
    "link": "http://news.cision.com/tieto-oyj/r/tieto-and-first-investment-bank-launch-in-house-acquiring,c9814811",
    "tags": [
      "Organisaatiomuutokset"
    ],
    "vainu_link": "https://app.vainu.io/vainu/prospect/108324"
  },
  {
    "prospects": [
      {
        "business_id": "01011385",
        "company_name": "Tieto Oyj"
      }
    ],
    "added": "2015-08-17T19:48:44",
    "title": "Amerikkalainen Epic voitti suomalaisen Apotti-kilvassa",
    "link": "http://www.talouselama.fi/uutiset/amerikkalainen+epic+voitti+suomalaisen+apottikilvassa/a2319298",
    "tags": [
      "Projektit"
    ],
    "vainu_link": "https://app.vainu.io/vainu/prospect/108324"
  },
  "..."
]

Responses

Status Meaning Description Schema
200 OK OK Inline
404 Not Found Not found None

Response Schema

Prospect Contacts

Code samples

import requests
headers = {
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 

r = requests.get('https://api.vainu.io/api/v1/prospect/{BUSINESS_ID_without_dash}/contacts/',
    params={},
    headers=headers
)

print r.json()


curl -X GET https://api.vainu.io/api/v1/prospect/{BUSINESS_ID_without_dash}/contacts/ \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).

const headers = {
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/prospect/{BUSINESS_ID_without_dash}/contacts/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /prospect/{BUSINESS_ID_without_dash}/contacts/

Returns the contacts of a prospect.

Parameters

Parameter In Type Required Description
BUSINESS_ID_without_dash path string true The business id. For example: FI09704098

Example responses

200 Response

[
  {
    "first_name": "Toivo",
    "last_name": "Toimitusjohtaja",
    "email": "toivo.toimitusjohtaja@samlink.fi",
    "phone": "",
    "title": "Toimitusjohtaja",
    "prospect": "Yritys Oy"
  },
  {
    "first_name": "Anni",
    "last_name": "Annisuku",
    "email": "anni.annisuku@example.com",
    "phone": "0501234123",
    "title": "Asiakkuusjohtaja",
    "prospect": "Yritys Oy"
  },
  "..."
]

Responses

Status Meaning Description Schema
200 OK OK Inline
404 Not Found Not found None

Response Schema

Prospect Financial Statements

Code samples

import requests
headers = {
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 

r = requests.get('https://api.vainu.io/api/v1/prospect/{BUSINESS_ID_without_dash}/financial_statements/',
    params={},
    headers=headers
)

print r.json()


curl -X GET https://api.vainu.io/api/v1/prospect/{BUSINESS_ID_without_dash}/financial_statements/ \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).

const headers = {
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/prospect/{BUSINESS_ID_without_dash}/financial_statements/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /prospect/{BUSINESS_ID_without_dash}/financial_statements/

Get yearly financial data of prospect.

Parameters

Parameter In Type Required Description
BUSINESS_ID_without_dash path string true The business id. For example: FI09704098

Example responses

200 Response

[
  {
    "year": 2014,
    "currency_code": "EUR",
    "turn_over_eur": "7035193000.0",
    "turn_over_local": null,
    "turn_over_is_estimate": false,
    "development_of_turnover": "14.3",
    "staff_number": 6198,
    "net_income_euro": "2077084000.0",
    "net_income_local": null,
    "equity_to_assets_ratio": "58.7",
    "account_period_start": null,
    "account_period_end": null
  },
  {
    "year": 2013,
    "currency_code": "EUR",
    "turn_over_eur": "6153660833.0",
    "turn_over_local": null,
    "turn_over_is_estimate": false,
    "development_of_turnover": "-12.2",
    "staff_number": 5998,
    "net_income_euro": "-42387687.0",
    "net_income_local": null,
    "equity_to_assets_ratio": "36.5",
    "account_period_start": null,
    "account_period_end": null
  },
  "..."
]

Responses

Status Meaning Description Schema
200 OK OK Inline
404 Not Found Not found None

Response Schema

prospects filter

Prospect Filter

Code samples

import requests
headers = {
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 

r = requests.get('https://api.vainu.io/api/v1/prospects/filter/',
    params={  'business_id': 'FI09704098'},
    headers=headers
)

print r.json()


curl -X GET https://api.vainu.io/api/v1/prospects/filter/?business_id=FI09704098 \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).

const headers = {
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/prospects/filter/?business_id=FI09704098',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /prospects/filter/

Filter prospects using a simple API.

For best performance include the country filter in your filter query.

Supported filter types:

No filter type is an wildcard match *Test*

Supported fields for filtering:

business_id, registration_date, company_name, link, domain, phone, industry_codes, address, postal, city, country, municipality, visiting_address, visiting_city, visiting_postal, visiting_municipality, turn_over, profit, development_of_turnover, staff_number, nstatus

Sorting

Sorting is specified with ‘order’ GET parameter. Sorting is possible with all the fields that support for filtering. Ascending order can be specified with a leading ‘-‘ character.

Fast sorting (ascending or descending) is supported with fields: business_id, company_name, visiting_postal, visiting_city , business_id, vainu_score, turn_over, alexa_rank_global.

Null value sort behaviour

Null values are sorted to the beginning of ascending sort order and to the end of descending sort order. Null values can be excluded with value__ne=null filter.

Examples:

Count

Get the total number of results with parameter ?count=true or include the count in the results with count=include. Including the count in the results will cause the query to be 1.5-2 times slower.

Limit and offset

Limit / offset can be specified with GET parameters limit / offset.

Region filtering

FIlter regions with ISO 3166-2 standard. Example ISO 3166-2 areas for Nordics: - Finland - Sweden - Norway - Denmark

Example query: - https://api.vainu.io/api/v1/prospects/filter/?country=FI&region__exact=FI-18&count=include

Company status queries

Filtering out inactive companies can be done by using the nstatus (Normalized status) filtering parameter.

Definitions:

Address and postal code queries

For best results we recommend filtering companies with address is using the visiting_ fields ( visiting_address, visiting_city, visiting_postal). If our data has no visiting address but we have a regular address, the regular address is copied to visting address data.

Industry codes queries

Use industry_codes field to filter with industry_code. Field uses the local value of the industry code spesific to the country. The first value of the list represents the primary industry code.

Fields industry_code_2, industry_code_5 and industry_code will be depricated in the next version of the API.

Local formats for countries:

Examples

Filtering examples:

Parameters can be GET parameters or POST payload.

Additional fields:

To get additional fields in the response, use the fields parameter to specify a list of field names: ?fields=e_invoice_addresses,identity

Available additional fields are:

Parameters

Parameter In Type Required Description
business_id query string true Filter

Example responses

200 Response

[
  {
    "business_id": "25578642",
    "status": "active",
    "registration_date": "2013-8-7",
    "company_name": "Vainu. io Software Oy",
    "link": "vainu.io",
    "phone": "+358 40 8341005",
    "industry_code_2": 62,
    "industry_code_5": 62010,
    "industry_code": "62010",
    "address": "Arkadiankatu 6 D",
    "postal": "00100",
    "city": "HELSINKI",
    "municipality": "HELSINKI",
    "visiting_address": "Arkadiankatu 6 D",
    "visiting_postal": "00100",
    "visiting_city": "HELSINKI",
    "visiting_municipality": "HELSINKI",
    "country": "FI",
    "currency_code": "SEK",
    "turn_over": "604000.0",
    "turn_over_local": null,
    "turn_over_is_estimate": false,
    "profit": "3.2",
    "development_of_turnover": "2007.0",
    "staff_number": "12",
    "staff_number_is_estimate": false,
    "vainu_link": "https://app.vainu.io/vainu/prospect/708216/",
    "linkedin_id": "3803996",
    "twitter_link": "https://twitter.com/vainuio",
    "facebook_link": "https://www.facebook.com/vainuio/"
  },
  {
    "business_id": "1231234",
    "status": "active",
    "registration_date": "2013-12-10",
    "company_name": "Examply Oy",
    "link": "www.example.com",
    "phone": null,
    "industry_code_2": 96,
    "industry_code_5": 96090,
    "industry_code": "96090",
    "address": "Street 3",
    "postal": "12345",
    "city": "HELSINKI",
    "municipality": "HELSINKI",
    "visiting_address": "Street 3",
    "visiting_postal": "12345",
    "visiting_city": "HELSINKI",
    "visiting_municipality": "HELSINKI",
    "country": "FI",
    "currency_code": "SEK",
    "turn_over": null,
    "turn_over_local": null,
    "turn_over_is_estimate": false,
    "profit": null,
    "development_of_turnover": null,
    "staff_number": null,
    "staff_number_is_estimate": false,
    "vainu_link": "https://app.vainu.io/vainu/prospect/702931/",
    "linkedin_id": null,
    "twitter_link": null,
    "facebook_link": "https://www.facebook.com/..."
  },
  "...."
]

Responses

Status Meaning Description Schema
200 OK OK Inline
404 Not Found Not found None

Response Schema

target_groups

List Target Groups

Code samples

import requests
headers = {
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 

r = requests.get('https://api.vainu.io/api/v1/target_groups/',
    params={},
    headers=headers
)

print r.json()


curl -X GET https://api.vainu.io/api/v1/target_groups/ \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).

const headers = {
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/target_groups/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /target_groups/

Returns user's target groups as a list with name and id.

Example responses

200 Response

[
  {
    "id": "12341234ab70b42bffd6a713",
    "name": "Target Group 1",
    "is_named_target_group": false,
    "default": false
  },
  {
    "id": "12341234ab70b40e0875f685",
    "name": "Portfolio",
    "is_named_target_group": true,
    "default": false
  }
]

Responses

Status Meaning Description Schema
200 OK OK Inline
404 Not Found Not found None

Response Schema

Create Target Group

Code samples

import requests
headers = {
  'Content-Type': 'application/json', 
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 
body = {
  "name": "New Portfolio",
  "is_named_target_group": true
}
r = requests.post('https://api.vainu.io/api/v1/target_groups/',
    params={},
    json=body,
    headers=headers
)

print r.json()


curl -X POST https://api.vainu.io/api/v1/target_groups/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY' \
  --data '{"name":"New Portfolio","is_named_target_group":"true"}'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).
const inputBody = {
  "name": "New Portfolio",
  "is_named_target_group": true
};
const headers = {
  'Content-Type':'application/json',  
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/target_groups/',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /target_groups/

Create target group. Optional parameter: is_named_target_group, default: true

Body parameter

{
  "name": "New Portfolio",
  "is_named_target_group": true
}

Parameters

Parameter In Type Required Description
body body any false none

Example responses

200 Response

{
  "id": "“12341234ab70b40e0875f685\"",
  "name": "New Portfolio",
  "is_named_target_group": true,
  "default": false
}

Responses

Status Meaning Description Schema
200 OK OK Inline
404 Not Found Not found None

Response Schema

Get Single Target Group

Code samples

import requests
headers = {
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 

r = requests.get('https://api.vainu.io/api/v1/target_groups/{target_group_id}',
    params={},
    headers=headers
)

print r.json()


curl -X GET https://api.vainu.io/api/v1/target_groups/{target_group_id} \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).

const headers = {
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/target_groups/{target_group_id}',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /target_groups/{target_group_id}

Parameters

Parameter In Type Required Description
target_group_id path string true The id of the object to get.

Example responses

200 Response

{
  "id": "12341234ab70b40e0875f685",
  "name": "New Portfolio",
  "is_named_target_group": true,
  "default": false
}

Responses

Status Meaning Description Schema
200 OK OK Inline
404 Not Found Not found None

Response Schema

Update Target Group

Code samples

import requests
headers = {
  'Content-Type': 'application/json', 
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 
body = {
  "name": "New Portfolio Updated",
  "business_ids": [
    "25578642",
    "01141622"
  ],
  "company_names": [
    "Nokia Solutions and Networks Oy",
    "UPM-Kymmene Oyj"
  ]
}
r = requests.put('https://api.vainu.io/api/v1/target_groups/{target_group_id}',
    params={},
    json=body,
    headers=headers
)

print r.json()


curl -X PUT https://api.vainu.io/api/v1/target_groups/{target_group_id} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY' \
  --data '{"name":"New Portfolio Updated","business_ids":"25578642,01141622","company_names":"Nokia Solutions and Networks Oy,UPM-Kymmene Oyj"}'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).
const inputBody = {
  "name": "New Portfolio Updated",
  "business_ids": [
    "25578642",
    "01141622"
  ],
  "company_names": [
    "Nokia Solutions and Networks Oy",
    "UPM-Kymmene Oyj"
  ]
};
const headers = {
  'Content-Type':'application/json',  
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/target_groups/{target_group_id}',
{
  method: 'PUT',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /target_groups/{target_group_id}

Special Parameters:

Body parameter

{
  "name": "New Portfolio Updated",
  "business_ids": [
    "25578642",
    "01141622"
  ],
  "company_names": [
    "Nokia Solutions and Networks Oy",
    "UPM-Kymmene Oyj"
  ]
}

Parameters

Parameter In Type Required Description
body body any false none
target_group_id path string true The id of the object to get.

Example responses

200 Response

{
  "id": "12341234ab70b40e0875f685",
  "name": "New Portfolio Updated",
  "is_named_target_group": true,
  "default": false
}

Responses

Status Meaning Description Schema
200 OK OK Inline
404 Not Found Not found None

Response Schema

target_group

Target Group Prospects

Code samples

import requests
headers = {
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 

r = requests.get('https://api.vainu.io/api/v1/target_group/{target_group_id}/',
    params={},
    headers=headers
)

print r.json()


curl -X GET https://api.vainu.io/api/v1/target_group/{target_group_id}/ \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).

const headers = {
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/target_group/{target_group_id}/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /target_group/{target_group_id}/

Get the prospects in the target group.

Parameters

Parameter In Type Required Description
count query boolean false When not included, returns the count and results. When included and true, returns only the count, and when included and false, returns only the results. Returning only the results is faster than returning the results and count.
limit query integer false The maximum number of prospects to return. Default is 20. Can be disabled with limit=none .
offset query integer false Offset for pagination.
target_group_id path string true The id of the object to get.

Example responses

200 Response

{
  "count": 68520,
  "results": [
    {
      "business_id": "01032880",
      "company_name": "AAC Global Oy",
      "link": "http://www.aacglobal.com",
      "isic_industry_code": "85593",
      "address": "Porkkalankatu 20 C",
      "postal": "00180",
      "city": "HELSINKI",
      "country": "FI",
      "turn_over": "13026000.0",
      "staff_number": "112",
      "development_of_turnover": "-6.7",
      "profit": "5.9"
    },
    {
      "business_id": "21619427",
      "company_name": "3Step IT Oy",
      "link": "http://www.3stepit.com/fi",
      "isic_industry_code": "62010",
      "address": "Mechelininkatu 1 A",
      "postal": "00180",
      "city": "HELSINKI",
      "country": "FI",
      "turn_over": "276148973.0",
      "staff_number": "74",
      "development_of_turnover": "20.8",
      "profit": "6.4"
    },
    "..."
  ]
}

Responses

Status Meaning Description Schema
200 OK OK Inline
404 Not Found Not found None

Response Schema

Target Group Leads

Code samples

import requests
headers = {
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 

r = requests.get('https://api.vainu.io/api/v1/target_group/{target_group_id}/leads/',
    params={},
    headers=headers
)

print r.json()


curl -X GET https://api.vainu.io/api/v1/target_group/{target_group_id}/leads/ \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).

const headers = {
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/target_group/{target_group_id}/leads/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /target_group/{target_group_id}/leads/

Example URLs:

Latest feeds for Target Group.

Get the Target Group ID with Target Groups API.

Without from_datetime argument, Leads from the previous day (00:00) to this moment will be returned for Target Group.

Parameters

Parameter In Type Required Description
target_group_id path string true The id of the object to get.
from_datetime query string false Return all leads from a datetime (ISO_8601 formatted) to now. Valid values are ISO_8601 datetimes between now and (now - 60 days)

Example responses

200 Response

[
  {
    "id": 1231234,
    "prospects": [
      {
        "business_id": "01080233",
        "company_name": "Finnair Oyj"
      }
    ],
    "datetime": "2015-12-04T13:18:43.611",
    "title": "Positiivinen tulosjulkistus Finnairilta",
    "link": "http://www.linkki.fi/liidi/",
    "tags": [
      "Tulosjulkistus - positiivinen"
    ],
    "vainu_link": "https://app.vainu.io/vainu/prospect/1214074"
  },
  {
    "id": 1231235,
    "prospects": [
      {
        "business_id": "01080233",
        "company_name": "Finnair Oyj"
      }
    ],
    "datetime": "2015-12-04T13:18:43.611",
    "title": " Fuusio Finnair ja Testi yrityksen välillä",
    "link": "http://www.toinenlinkki.fi/liidi/",
    "tags": [
      "Fuusiot, jakautumiset, yrityskaupat"
    ],
    "vainu_link": "https://app.vainu.io/vainu/prospect/1214074"
  },
  "..."
]

Responses

Status Meaning Description Schema
200 OK OK Inline
404 Not Found Not found None

Response Schema

enrich_data

Match and retrieve company data

Code samples

import requests
headers = {
  'Content-Type': 'application/json', 
  'Accept': 'application/json', 
  'API-Key': 'API_KEY'   # replace API_KEY with your api key from Vainu settings 
} 
body = {
  "company_name": "Netflix",
  "business_id": "US_WY2001000419120",
  "country": "US",
  "state": "WY",
  "street_address": "100 Winchester Circle",
  "postal_code": "95032",
  "city": "LOS GATOS"
}
r = requests.post('https://api.vainu.io/api/v1/enrich_data/',
    params={},
    json=body,
    headers=headers
)

print r.json()


curl -X POST https://api.vainu.io/api/v1/enrich_data/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY' \
  --data '{"company_name":"Netflix","business_id":"US_WY2001000419120","country":"US","state":"WY","street_address":"100 Winchester Circle","postal_code":"95032","city":"LOS GATOS"}'

const fetch = require('node-fetch');  // install node-fetch if not installed (npm install node-fetch).
const inputBody = {
  "company_name": "Netflix",
  "business_id": "US_WY2001000419120",
  "country": "US",
  "state": "WY",
  "street_address": "100 Winchester Circle",
  "postal_code": "95032",
  "city": "LOS GATOS"
};
const headers = {
  'Content-Type':'application/json',  
  'Accept':'application/json',  
  'API-Key':'API_KEY'    // replace API_KEY with your api key from Vainu settings 

};

fetch('https://api.vainu.io/api/v1/enrich_data/',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /enrich_data/

This endpoint allows you to enrich your company data with data from Vainu.

The endpoint takes in data about a company in the post body, and attempts to find a matching company in the Vainu database.

If a match is found, all related information about the company is returned.

Often the data can be matched with multiple companies. To retrieve a list of possible matches, use the query parameter multi in the url, for example /enrich_data/?multi=true. In this case, the results will be returned in order, starting with the best match.

To include only certain fields in the response, use the query parameter include, for example /enrich_data/?include=company_name,business_id

To exclude some fields and include all others, use the query parameter exclude.

By default, a maximum of 20 leads are returned, but to include more or less, you can use the leads query parameter to limit their number, for example /enrich_data/?leads=50

If you have access to multiple countries, including the country of the business also has a big impact on performance.

Asynchronous results for lists of data:

A sample response to an asynchronous request:

  {
      "job_id": "18176755-4c2f-4686-b743-7bcaac0768b1",
      "created": "2018-10-08T15:27:11.201556",
      "results": [],
      "state": "accepted",
      "link": "https://api.vainu.io/api/v1/async_result/batch-match/18176755-4c2f-4686-b743-7bcaac0768b1/",
      "progress": 0
  }

Sending a GET request to the url in the link, https://api.vainu.io/api/v1/async_result/batch-match/18176755-4c2f-4686-b743-7bcaac0768b1/ returns the following response:

  {
    "total_rows":1,
    "job_id":"18176755-4c2f-4686-b743-7bcaac0768b1",
    "created":"2018-10-08T15:27:11.201000",
    "finished":"2018-10-08T15:27:13.274000",
    "results":[
      {
        {
          "company_name":"Vainu.io"
          "more data":"..."
        }
      }
    ],
    "elapsed_time":"0:00:02.073000",
    "state":"completed",
    "progress":1
  }

For large amounts of data, it may be prefereable to do this operation on a list of data instead of individual requests.

This method allows for much faster matching of lists of data without the need for simultaneous requests.

To do this, instead of a json object, include a list of these objects. The response will not include the results, but a link to the status of the process, where the results will be shown when they are ready.

The results are returned as a list where the companies are in the same order as they were given.

The state of the process will be completed when it is done.

A maximum of 50000 companies can be matched in one request if multi is not true, and 2000 otherwise.

The same parameters can be used as when matching one company at a time.

The country code MUST be included in the url, for example: ?country=US

Matching multiple companies is therefore only possible for one country at a time.

Although it is possible to create multiple asynchronous tasks at the same time, this is not recommended. Performance and reliability may suffer if more than one large task is running simultaneously.

Matching parameters:

Include matching parameters in the request body. At least one field marked with an asterisk* is required. Available parameters are:

Body parameter

{
  "company_name": "Netflix",
  "business_id": "US_WY2001000419120",
  "country": "US",
  "state": "WY",
  "street_address": "100 Winchester Circle",
  "postal_code": "95032",
  "city": "LOS GATOS"
}

Parameters

Parameter In Type Required Description
body body object false none
» company_name body string false none
» business_id body string false none
» vid body integer false none
» country body string false none
» domain body string false none

Example responses

200 Response

{
  "accounting_firm": "PricewaterhouseCoopers Oy",
  "address": "Pohjoinen Makasiinikatu 3",
  "address_country": "FI",
  "alexa_country_code": null,
  "alexa_rank_country": null,
  "alexa_rank_delta": null,
  "alexa_rank_global": null,
  "alexa_rank_reach": null,
  "area": 37,
  "avg_num_videos_per_month": null,
  "bookkeeping_firm": null,
  "bookkeeping_firm_normalized": null,
  "branch_number": null,
  "branch_status": null,
  "bs_provisions": null,
  "bs_provisions_local": null,
  "bs_total_assets": null,
  "bs_total_assets_local": null,
  "bs_total_current_liabilities": null,
  "bs_total_current_liabilities_local": null,
  "bs_total_equity": null,
  "bs_total_equity_and_liab": null,
  "bs_total_equity_and_liab_local": null,
  "bs_total_equity_local": null,
  "bs_total_fix_assets": null,
  "bs_total_fix_assets_local": null,
  "bs_total_long_term_debts": null,
  "bs_total_long_term_debts_local": null,
  "bs_total_turnover_assets": null,
  "bs_total_turnover_assets_local": null,
  "bs_untaxed_reserves": null,
  "bs_untaxed_reserves_local": null,
  "business_id": "28229966",
  "business_ids": null,
  "career_page_job_count": null,
  "cash_flow_from_op_percent": null,
  "charges": null,
  "city": "HELSINKI",
  "company_hiring_links": null,
  "company_level": null,
  "company_name": "Vainu Finland Oy",
  "company_name_l": [
    "vainu finland oy",
    "finland oy"
  ],
  "company_name_s": "vainu finland oy",
  "company_name_s_short": "vainu",
  "company_name_unofficial": "Vainu.io",
  "company_names": null,
  "company_rss_links": [
    "http://blog.vainu.io/rss.xml",
    "http://blog.vainu.io/rss.xml?hsLang=fi"
  ],
  "companynews_links": [
    "blog.vainu.io/fi/topic/press-release",
    "blog.vainu.io/topic/press-release"
  ],
  "contact_page_urls": [
    "https://company.vainu.io/"
  ],
  "contacts": [
    {
      "first_name": "Mikko Petteri",
      "last_name": "Honkanen",
      "email": "mikko@vainu.io",
      "phone": "+358408330181",
      "title": "Toimitusjohtaja"
    },
    {
      "first_name": "Tuomas Henrik",
      "last_name": "Rasila",
      "email": null,
      "phone": null,
      "title": "Hallitus: varsinainen jäsen"
    }
  ],
  "content_career_page": null,
  "coordinates": {
    "type": "Point",
    "coordinates": [
      24.9508958,
      60.16577460000001
    ]
  },
  "countries": [],
  "country": "FI",
  "county": null,
  "crawled_datetime": "2018-10-08T08:15:52.941",
  "currency_code": "EUR",
  "deregistration_date": null,
  "description": "With our database of 108+ million companies, unique data points, and AI expertise, we’ll solve any problem related to company data by injecting AI-driven data into your decision-making.",
  "development_of_turnover": null,
  "development_of_turnover_class": null,
  "digitality": 0.7333333333333333,
  "dissolution_mode": null,
  "dissolution_registration_date": null,
  "dissolution_successors": null,
  "dividend": null,
  "dividend_local": null,
  "domain": "vainu.io",
  "domain_filled_date": null,
  "domains": [],
  "e_invoice_addresses": [
    [
      "e_invoice_address",
      "invoice_address_name",
      "operator_name",
      "operator_id",
      "operator_business_id",
      "receive",
      "send"
    ]
  ],
  "email": null,
  "employee_salary": null,
  "employee_salary_local": null,
  "employer_register_date": "2017-04-01T12:00:00",
  "equity_to_assets_ratio": 4.4,
  "expiration_date": null,
  "facebook_engagement_rate": null,
  "facebook_likes": null,
  "facebook_link": "https://www.facebook.com/798090590252922",
  "facebook_posts_per_day": null,
  "facebook_ptat": null,
  "facts": [
    {
      "type": "theme",
      "value": "Investments in customer service"
    },
    {
      "type": "theme",
      "value": "Cloud service enthusiasts"
    }
  ],
  "fax": null,
  "financial_statement_keywords": [
    "vastaavan allekirjoitus",
    "päätettiin",
    "vainu",
    "ajoitu",
    "perustuen. tilinpäätös",
    "tilinpäätöksen,jossaei"
  ],
  "financial_statements": [
    {
      "year": 2017,
      "currency_code": "EUR",
      "turn_over_eur": "3267000.0",
      "turn_over_local": "3267000.0",
      "turn_over_is_estimate": false,
      "development_of_turnover": null,
      "staff_number": null,
      "net_income_euro": null,
      "net_income_local": null,
      "equity_to_assets_ratio": "4.4",
      "account_period_start": null,
      "account_period_end": "2017-12-31",
      "profit": -0.7
    }
  ],
  "financial_statements_consolidated": null,
  "form_of_company": "Osakeyhtiö",
  "form_of_company_n": [
    0,
    2,
    5,
    9
  ],
  "form_of_company_vainu": 1,
  "form_of_registration": null,
  "foundation_date": "2013-01-01T12:00:00",
  "funding_rounds": null,
  "http_status_code": 200,
  "id": "59050c321793e620db467e6c",
  "industry_code_2": 62,
  "industry_code_5": 62010,
  "industry_code_crawled_date": null,
  "industry_code_sbi": null,
  "industry_code_tol_2002": "620",
  "industry_codes": null,
  "industry_codes_all": [
    "fi_tol_2008-62010",
    "eu_nace_2-6201",
    "isic_4-6201"
  ],
  "industry_codes_local": [
    "62010"
  ],
  "industry_codes_main": null,
  "industry_codes_main_local": [
    "62010"
  ],
  "industry_codes_other": null,
  "industry_codes_other_local": null,
  "industry_description": null,
  "industry_estimated_date": null,
  "instagram_link_count": null,
  "is_concern": null,
  "isic_industry_code": "62010",
  "isic_industry_code_1": "J",
  "isic_industry_codes": null,
  "jurisdiction": null,
  "keyword_crawled_date": "2018-06-08T22:01:10.269",
  "kr_gross_profit_margin_percent": null,
  "kr_net_margin_percent": null,
  "kr_quick_ratio_percent": null,
  "kr_turnover_per_employee": null,
  "kr_turnover_per_employee_local": null,
  "lat": 60.16577460000001,
  "leads": [
    {
      "id": 146229493,
      "prospects": [
        {
          "business_id": "NO918443525",
          "company_name": "VAINU NORWAY AS"
        },
        {
          "business_id": "28229966",
          "company_name": "Vainu Finland Oy"
        },
        {
          "business_id": "NL65550773",
          "company_name": "Vainu Netherlands B.V."
        },
        {
          "business_id": "US_NY5058589",
          "company_name": "VAINU INC."
        }
      ],
      "datetime": "2018-09-20T17:10:05.611",
      "title": "Vainu.io Opens Another New Office - Expands to Copenhagen, Denmark",
      "link": "https://blog.vainu.io/vainu-expands-to-denmark/",
      "tags": null,
      "vainu_link": ""
    },
    {
      "id": 142636791,
      "prospects": [
        {
          "business_id": "28229966",
          "company_name": "Vainu Finland Oy"
        }
      ],
      "datetime": "2018-09-07T16:04:26.484",
      "title": "New address",
      "link": null,
      "tags": [
        "Uusi osoite"
      ],
      "vainu_link": ""
    }
  ],
  "link": "vainu.io",
  "linkedin_id": "3803996",
  "linkedin_industry": null,
  "linkedin_link": "https://www.linkedin.com/company/3803996",
  "lng": 24.9508958,
  "logo": "a:58dcfa3c1793e678eb9e26d7_logo.jpeg",
  "marketility": 0.8,
  "modified": "2018-10-22T14:53:30.394",
  "mother": null,
  "mother_business_id_generic": null,
  "mother_foreign": null,
  "municipality": "HELSINKI",
  "nstatus": 0,
  "num_subscribers_per_1000_views": null,
  "orginal_image": "a:583d81f81793e62647f50ca4.png",
  "owned_percent": null,
  "paye_register_date": "2017-04-01T12:00:00",
  "payroll_overhead": null,
  "payroll_overhead_local": null,
  "permalink": null,
  "phone": null,
  "postal": "00130",
  "postal_int": 130,
  "prh_crawled_date": "2018-10-01T12:29:53.884",
  "products": null,
  "profit": -0.7,
  "profit_estimate": null,
  "prospect_address_count": 1,
  "prospect_addresses": [
    {
      "visiting_address": null,
      "visiting_postal": null,
      "visiting_city": null,
      "address": "Pohjoinen Makasiinikatu 3",
      "postal": "00130",
      "city": "HELSINKI",
      "office_number": null,
      "office_name": null,
      "business_id": null
    }
  ],
  "region": "FI-18",
  "registers": [
    {
      "register": 4,
      "register_name": "Verohallinto",
      "registration_date": "2017-04-21T12:00:00",
      "end_date": null,
      "status": 1,
      "status_description": "Rekisterissä",
      "authority": "Verohallinto",
      "country": "FI"
    }
  ],
  "registration_date": "2017-03-28T12:00:00",
  "registry_url": null,
  "restricted_for_marketing": null,
  "result_before_taxes": 2557.68,
  "right_of_sign": null,
  "rss_feeds": null,
  "salary_board": null,
  "salary_board_local": null,
  "se_industry_code_5": null,
  "semantic_keywords": [
    "peptid",
    "product",
    "thermoform",
    "custom",
    "molder",
    "greenguard",
    "transfect",
    "tailer",
    "ppai",
    "dunnag",
    "reagent",
    "kydex",
    "labwar",
    "paperboard",
    "weldment",
    "enenglish",
    "foodservic",
    "cytokin",
    "distributor",
    "upsel"
  ],
  "social_profiles": [
    {
      "username": "vainuio",
      "userid": "91479389043104622",
      "type_id": "klout"
    },
    {
      "type_id": "instagram"
    },
    {
      "username": "vainu-io",
      "type_id": "linkedincompany"
    },
    {
      "username": "vainuio",
      "type_id": "facebook"
    },
    {
      "username": "vainuio",
      "type_id": "twitter"
    }
  ],
  "sociality": 0.6,
  "staff_cls": null,
  "staff_number": 74,
  "staff_number_estimate": 74,
  "staff_number_lowerlimit": 50,
  "staff_number_upperlimit": 99,
  "state_registration": null,
  "status": null,
  "status_registration_date": null,
  "stock_exchange": null,
  "stock_exchange_date": null,
  "stock_symbol": null,
  "structure": {},
  "themes": null,
  "total_funding_usd": null,
  "trademarks": null,
  "turn_over": 3267000,
  "turn_over_local": 3267000,
  "turn_over_lowerlimit": null,
  "turn_over_upperlimit": null,
  "turnover_cls": 5,
  "turnover_estimate": null,
  "turnover_estimated_date": null,
  "twitter_followers_count": 2034,
  "twitter_link": "https://twitter.com/vainuio",
  "vainu_score": 78.55331262939958,
  "vainu_social_score": null,
  "vat_property_register_date": null,
  "vat_register_date": "2017-04-01T12:00:00",
  "vehicles_count": null,
  "verified_by_users": null,
  "verified_domains": null,
  "vid": 463880794,
  "vids": null,
  "visiting_address": "Pohjoinen Makasiinikatu 3",
  "visiting_address_country": "FI",
  "visiting_address_s": "pohjoinen makasiinikatu 3",
  "visiting_city": "HELSINKI",
  "visiting_coordinates": null,
  "visiting_country": null,
  "visiting_county": null,
  "visiting_lat": 60.16577460000001,
  "visiting_lng": 24.9508958,
  "visiting_municipality": "HELSINKI",
  "visiting_postal": "00130",
  "visiting_postal_int": 130,
  "visiting_region": "FI-18",
  "website_page_count": null,
  "www_index_ip": "128.199.62.154",
  "xbrl_current": null,
  "xbrl_financial_statements": null,
  "youtube_comment_count": null,
  "youtube_link": "https://www.youtube.com/channel/UCRM5l_TYNA8jOvz9gD5zXEg",
  "youtube_subscriber_num": null,
  "youtube_video_count": null,
  "youtube_view_count": null
}

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
» company_name string false none The name of the company
» leads array false none Leads