Getro API
Introduction
Welcome to the Getro API! You can use our API to access Getro's API endpoints, which can get information on the companies in your network and their open job positions.
Calling our API
Supported Use Case
Our API has been designed to be a data source to power integrations and as a backup mechanism. We support the use case of paging through all jobs and company data for your network once every 6 hours.
Rate Limit
Additionally, the API is rate limited to 30 requests per minute. Please spread out the requests evenly over a 6 hour period and do not make identical requests within this period.
CORS
We do not allow CORS requests to our API - this means that you cannot make calls to our API directly from the client/browser with Javascript. If it were called from the client directly, the rate limit would be exceeded quickly. Please instead use some backend technology such as Python, Ruby, Node or similar to pull the information into your own database.
List Parameters
Elements within lists should be seperated by the pipe (|) character.
Authentication
To authorize, use this code:
curl -X <TYPE> 'url' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-User-Email: email@example.com' \
--header 'X-User-Token: password'
Make sure to replace
email@example.com
with your email andpassword
with your API key.
Getro requires the email and API key associated with a user be included in all API requests to the server in a header that looks like the following:
X-User-Email: email@example.com
X-User-Token: password
Pagination
The
per_page
parameter should not be bigger than100
in order for the system to be reliable.
Getro requires all API calls that return lists of objects to receive the following pagination parameters:
page: The number of the page
per_page: The number of items to return by page
Errors
The Getro API uses the following error codes:
Error Code | Meaning |
---|---|
400 | Bad Request -- Your request is invalid. |
401 | Unauthorized -- Your API key or email is wrong. |
403 | Forbidden -- The info requested is hidden for certain members. |
404 | Not Found -- The specified kitten could not be found. |
422 | Not Acceptable -- You requested a format that isn't json. |
500 | Internal Server Error -- We had a problem with our server. Try again later. |
503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. |
GetroJobs
Job functions
Get all job functions
curl -X GET 'https://api.getro.com/v2/job_functions' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-User-Email: email@example.com' \
--header 'X-User-Token: password'
The above command returns JSON structured like this:
[
"Accounting & Finance",
"Administration",
"Customer Service",
"Data Science",
"Design",
"IT",
"Legal",
"Marketing & Communications",
"Operations",
"Other Engineering",
"People & HR",
"Product",
"Quality Assurance",
"Sales & Business Development",
"Software Engineering"
]
This endpoint retrieves all job functions in the system.
HTTP Request
GET https://api.getro.com/v2/job_functions
Locations
Get locations for companies
curl -X GET 'https://api.getro.com/v2/locations/companies' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-User-Email: email@example.com' \
--header 'X-User-Token: password'
The above command returns JSON structured like this:
[
"Cincinnati, OH, USA",
"Kharkiv Oblast, Ukraine",
"Palo Alto, CA, USA",
"Cortez, CO, USA",
"Burnsville, MN, USA",
"Rehovot, Israel",
"Ra'anana, Israel",
"Victorias Cross Terrace, Ashburn, VA 20147, USA",
"Herzogenaurach, Germany",
"Saratoga Springs Pl, Ashburn, VA 20147, USA"
]
This endpoint retrieves locations related with companies. This call gives a maximum number of 10 results
HTTP Request
GET https://api.getro.com/v2/locations/companies
Query Parameters
Parameter | Example | Description |
---|---|---|
query | Boulder | If included it will filter results with locations that match this string. |
Get locations for jobs
curl -X GET 'https://api.getro.com/v2/locations/jobs' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-User-Email: email@example.com' \
--header 'X-User-Token: password'
The above command returns JSON structured like this:
[
"Cincinnati, OH, USA",
"Kharkiv Oblast, Ukraine",
"Palo Alto, CA, USA",
"Cortez, CO, USA",
"Burnsville, MN, USA",
"Rehovot, Israel",
"Ra'anana, Israel",
"Victorias Cross Terrace, Ashburn, VA 20147, USA",
"Herzogenaurach, Germany",
"Saratoga Springs Pl, Ashburn, VA 20147, USA"
]
This endpoint retrieves locations related with jobs. This call gives a maximum number of 10 results.
HTTP Request
GET https://api.getro.com/v2/locations/jobs
Query Parameters
Parameter | Example | Description |
---|---|---|
query | Boulder | If included it will filter results with locations that match this string. |
Networks
Get all networks
curl -X GET 'https://api.getro.com/v2/networks' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-User-Email: email@example.com' \
--header 'X-User-Token: password'
The above command returns JSON structured like this:
{
"items": [
{
"id": 99,
"name": "Demo Network",
"logo_url": "https://cdn.filepicker.io/api/file/BMSXkyiQSTuQ3qwX3opX"
}
],
"meta": {
"total": 1
}
}
This endpoint retrieves information about your networks.
HTTP Request
GET https://api.getro.com/v2/networks
Get a specific network
curl -X GET 'https://api.getro.com/v2/networks/99' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-User-Email: email@example.com' \
--header 'X-User-Token: password'
The above command returns JSON structured like this:
{
"id": 99,
"name": "Demo Network",
"tagline": "",
"subtitle": "",
"topics": [
"Ad Tech",
"Affordable And Clean Energy",
"CEO Pledge",
"Clean Energy",
"Decent Work And Economic Growth",
"Energy",
"Enterprise",
"Gender Equality",
"Good Health And Well-Being",
"Industry, Innovation And Infrastructure",
"No poverty",
"Outdoor",
"Peace, justice and strong institutions",
"Quality Education",
"Responsible Consumption And Production",
"Rotr seed",
"Software & services",
"Sustainable Cities And Communities",
"Tech and Telecom",
"Zero hunger"
],
"domain": "demo.com",
"logo_url": "https://cdn.filepicker.io/api/file/BMSXkyiQSTuQ3qwX3opX",
"main_image_url": "https://cdn.filepicker.io/api/file/Rf8iIKXxSyCLrpRaxkXN"
}
This endpoint retrieves information about a given network ID.
HTTP Request
GET https://api.getro.com/v2/networks/:id
Companies
Get all companies
This endpoint retrieves all companies in a network.
curl -X GET 'https://api.getro.com/v2/networks/:id/companies?name=Getro&topics=Health&job_functions=Legal \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-User-Email: email@example.com' \
--header 'X-User-Token: password'
HTTP Request
GET https://api.getro.com/v2/networks/:id/companies
The above command returns JSON structured like this:
{
"items": [
{
"description": "We help companies hire faster by identifying referred candidates from sources they trust. Professionals get warm introductions to companies they're interested in working for.",
"domain": "getro.com",
"objectID": 894,
"locations": [
"New York, NY, USA",
"Boulder, CO, USA"
],
"logo_url": "https://assets.techstars.com/images/image_files/5920e3939c66a93647000009/original/MarkBlush.png",
"name": "Getro",
"slug": "getro",
"company_size": "s",
"topics": [
"Health",
"Legal"
],
"industry_tags": [
"Finance"
]
}
],
"meta": {
"total": 1
}
}
Query Parameters
Parameter | Example | Description |
---|---|---|
name | 'Getro' | If included it will filter results with organizations which name match this field. |
topics* | 'Energy' | If the string is not empty, the result will include organizations with organizations matching the topics provided. |
job_functions* | 'Software Engineering' | If the string is not empty, the result will include organizations with open jobs matching the job functions provided. |
locations* | 'Boulder, CO, USA' | If the string is not empty, the result will include organizations with headquarters in the locations provided. Each element of the array needs to be a Google place ID or one of the following options: remote, earth. |
industry_tags* | 'Finance' | If the string is not empty, the result will include organizations with the given industry tags associated. |
company_size* | 's' | If the string is not empty, the result will include organizations with the given sizes. Supported values are xs, s, m, l, xl, xxl. |
page** | 1 | The page selected will help you offset the result through pagination. |
per_page** | 9 | The number of organizations included in each page. |
* String separated by |
** Required parameter
Get a specific company
This endpoint retrieves a specific company's information within the network.
curl -X GET 'https://api.getro.com/v2/networks/:id/companies/:id' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-User-Email: email@example.com' \
--header 'X-User-Token: password'
The above command returns JSON structured like this:
{
"id": 894,
"name": "Getro",
"logo_url": "https://assets.techstars.com/images/image_files/5920e3939c66a93647000009/original/MarkBlush.png",
"tagline": "Getro makes hiring easier by connecting employers to referred professionals in their network.",
"domain": "getro.com",
"description": "We help companies hire faster by identifying referred candidates from sources they trust. Professionals get warm introductions to companies they're interested in working for.",
"company_size": "s",
"locations": [
"New York, NY, USA",
"Boulder, CO, USA"
],
"topics": [
"Health"
],
"industry_tags": [
"Finance"
],
"slug": "getro"
}
HTTP Request
GET https://api.getro.com/v2/networks/:id/companies/:id
Jobs
Search jobs
This endpoint searches through jobs in your network.
curl -X GET 'https://api.getro.com/v2/networks/:id/jobs?title=Job&job_functions=Software%20Engineering%7CHealth' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-User-Email: email@example.com' \
--header 'X-User-Token: password'
HTTP Request
GET https://api.getro.com/v2/networks/:id/jobs
The above command returns JSON structured like this:
{
"items": [
{
"created_at": "2017-05-15T09:46:14.426Z",
"id": 150809,
"job_functions": ["Software Engineering"],
"locations": ["Boulder, CO, USA"],
"company": {
"id": 991,
"name": "Wunder",
"logo_url": "https://assets.techstars.com/images/image_files/56a80c65808320c406000004/original/logo.png",
"slug": "wunder",
"topics": [],
"industry_tags": [
"Finance"
],
"company_size": "s"
},
"title": "Your Dream Job",
"url": "http://assets.wundercapital.com/openings/dream_job.pdf",
"manually_posted": true,
"description_last_updated_at": "2017-05-15T09:46:14.426Z",
"featured": true
},
...
],
"meta": {
"total": 20
}
}
Query Parameters
Parameter | Example | Description |
---|---|---|
title | Sales Engineer | If included, the result will show all jobs that match the job title specified. |
hide_company | true | If true, hides all company data but its id |
locations* | Boulder, CO, USA\ | Texas, USA\ |
job_functions* | 'Software Engineering' | If included, the result will include open jobs matching the job functions specified. |
companies* | 'Getro' | If included, the result will include open jobs associated with the companies provided. Companies can either be specified by name OR Getro ID. |
topics* | 'Energy' | If included, the result will include jobs with companies matching the topics provided. |
industry_tags* | 'Finance' | If the string is not empty, the result will include jobs with organizations with the given industry tags associated. |
organization.company_size* | 's' | If the string is not empty, the result will include jobs with organizations with the given sizes. Supported values are xs, s, m, l, xl, xxl. |
page** | 1 | The page selected will help you offset the result through pagination. |
per_page** | 9 | The number of jobs included in each page. |
* String separated by |
** Required parameter
Response
The description_last_updated_at
attribute will be returned if we have the description for the job, otherwise it will be null.
Search removed jobs
This endpoint searches through removed jobs in the database.
curl -X GET 'https://api.getro.com/v2/networks/:id/jobs/removed?deactivated_from=2017-05-01&companies=Getro' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-User-Email: email@example.com' \
--header 'X-User-Token: password'
HTTP Request
GET https://api.getro.com/v2/networks/:id/jobs/removed
The above command returns JSON structured like this:
{
"items": [
{
"created_at": "2017-05-15T09:46:14.426Z",
"deactivated_at": "2018-01-15T18:10:11.217Z",
"id": 150809,
"job_functions": ["Software Engineering"],
"locations": ["Boulder, CO, USA"],
"company": {
"id": 991,
"name": "Wunder",
"logo_url": "https://assets.techstars.com/images/image_files/56a80c65808320c406000004/original/logo.png",
"slug": "wunder",
"topics": [],
"industry_tags": [
"Finance"
],
"company_size": "s"
},
"title": "Your Dream Job",
"url": "http://assets.wundercapital.com/openings/dream_job.pdf"
},
...
],
"meta": {
"total": 2
}
}
Query Parameters
Parameter | Example | Description |
---|---|---|
title | Sales Engineer | If included, the result will show all jobs that match the job title specified. |
hide_company | true | If true, hides all company data but its id |
deactivated_from | '2018-01-01' | The start date in a range to see deactivated jobs. |
deactivated_to | '2018-01-31' | The end date in a range to see deactivated jobs. If not set, will use current date |
locations* | 'Boulder, CO, USA' | If the string is not empty, the result will include jobs based out of the the locations provided. Each element of the array needs to be a Google place ID or one of the following options: remote, earth. |
job_functions* | 'Software Engineering' | If the string is not empty, the result will include open jobs matching the job functions specified. |
companies* | 'Getro' | If the string is not empty, the result will include open jobs associated with the companies provided. |
industry_tags* | 'Finance' | If the string is not empty, the result will include jobs with organizations with the given industry tags associated. |
organization.company_size* | 's' | If the string is not empty, the result will include jobs with organizations with the given sizes. Supported values are xs, s, m, l, xl, xxl. |
topics* | 'Energy' | If the string is not empty, the result will include jobs with companies matching the topics provided. |
page** | 1 | The page selected will help you offset the result through pagination. |
per_page** | 9 | The number of jobs included in each page. |
* String separated by |
** Required parameter
Job details
This endpoint retrieves the job details
curl -X GET 'https://api.getro.com/v2/networks/:network_id/jobs/:id' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-User-Email: email@example.com' \
--header 'X-User-Token: password'
HTTP Request
GET https://api.getro.com/v2/networks/:network_id/jobs/:id
The above command returns JSON structured like this:
{
"id": 150809,
"title": "Your Dream Job",
"url": "http://assets.wundercapital.com/openings/dream_job.pdf",
"company": {
"id": 991,
"name": "Wunder",
"logo_url": "https://assets.techstars.com/images/image_files/56a80c65808320c406000004/original/logo.png",
"slug": "wunder",
"topics": [],
"industry_tags": [
"Finance"
],
"company_size": "s"
},
"created_at": "2017-05-15T09:46:14.426Z",
"locations": [
"Beer Summit",
"Auckland, NZ"
],
"description": "We are looking for a Customer Success Manager to join our fast-growing team. The role will report to the CEO. We’re looking for a leader who will build a consultative and strategic approach to customer success as we double down on being the market leader in the VC world as well as explore new markets.\n\nResponsibilities:\n\n - Coach, mentor and grow a team of customer success professionals and technical support associates\n - Drive value creation and ROI across our client portfolio\n - Develop playbooks, processes, and systems that the team will use to scale\n - Ensure the team excels at owning the day to day relationship with our customers and helping our customers achieve their desired outcomes with our products\n - Lead strategic conversations for Executive Business reviews and support the commercial activity around renewal and expansion\n - Develop and deliver a success plan, advising customers on reaching business goals\n - Drive adoption and ongoing usage of our products and services\n - Maintain regular communication with customers, ensure air-tight campaign executions, and provide regular performance reporting and platform support\n - Support junior members of the team and drive product demos as needed\n\nPerks:\n\n - Opportunity to make a serious impact on a rapidly scaling business\n - Find yourself constantly thinking about more efficient ways to architect technology to sale in a way that directly impacts the business\n - Competitive compensation package, health insurance, and co-working stipend\n - Work remotely for a company with an intentional, healthy remote culture\n",
"description_last_updated_at": "2017-05-15T09:46:14.426Z",
"compensation_min": 16480,
"compensation_max": 31349,
"compensation_currency": "USD",
"compensation_period": "year",
"application_method": "email",
"application_path": "mail@example.com",
"employment_types": [
"full_time"
],
"job_functions": ["Software Engineering"],
"locations": ["Boulder, CO, USA"],
}
Response
The following attributes in the response are only available for manually posted jobs:
- compensation_min
- compensation_max
- compensation_currency
- compensation_period
- application_method
- application_path
- employment_types
The description
attribute will be returned if we have the description for the job, otherwise it will be null.
The description_last_updated_at
attribute will be returned if we have the description for the job, otherwise it will be null.
Industry tags
Get all industry tags
This endpoint retrieves all industry tags.
curl -X GET 'https://api.getro.com/v2/industry_tags \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-User-Email: email@example.com' \
--header 'X-User-Token: password'
HTTP Request
GET https://api.getro.com/v2/industry_tags
The above command returns JSON structured like this:
{
"items": [
"3D Printing",
"3D Technology",
"Finance",
"Software",
"Healthcare"
]
}