Microforge API
Researchers/Slug

Get researcher details

Returns complete data for a single researcher. NOTE: This endpoint returns RAW data (not transformed like /researchers list endpoint). The response includes all fields from the database without the transformations applied in the list endpoint.

GET
/researchers/{slug}

Authorization

Authorization

x-api-key<token>

In: header

Path Parameters

slugstring

The researcher slug (e.g., ~Yann_LeCun1)

Response Body

Single researcher response (used in /researchers/{slug} endpoint) - NOTE this has DIFFERENT structure from list endpoint

TypeScript Definitions

Use the response body type in TypeScript.

researcher_slug?string
name?string | null

Extracted from slug

profile?object

Raw profile data (NOT transformed like list endpoint)

Empty Object

metrics?object | null

Metrics with ALL fields including num_papers, country_normalized

hireability?object | null

Hireability with ALL fields (not transformed)

scoring?object | null

Scoring with ALL fields (not transformed to 6 scores)

Empty Object

final_score?number | null
github?object | null

Empty Object

collaborators?object | null

Empty Object

website_changes?array<object> | null

Bad request

TypeScript Definitions

Use the response body type in TypeScript.

error?string
message?string

Unauthorized

TypeScript Definitions

Use the response body type in TypeScript.

error?string
message?string

Researcher not found

TypeScript Definitions

Use the response body type in TypeScript.

error?string
message?string

Internal server error

TypeScript Definitions

Use the response body type in TypeScript.

error?string
message?string
curl -X GET "https://hiring-api.microforge.studio/v1/researchers/~Karsten_Kreis1"
fetch("https://hiring-api.microforge.studio/v1/researchers/~Karsten_Kreis1")
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {
  url := "https://hiring-api.microforge.studio/v1/researchers/~Karsten_Kreis1"

  req, _ := http.NewRequest("GET", url, nil)
  
  res, _ := http.DefaultClient.Do(req)
  defer res.Body.Close()
  body, _ := ioutil.ReadAll(res.Body)

  fmt.Println(res)
  fmt.Println(string(body))
}
import requests

url = "https://hiring-api.microforge.studio/v1/researchers/~Karsten_Kreis1"

response = requests.request("GET", url)

print(response.text)
{
  "researcher_slug": "string",
  "name": "string",
  "profile": {},
  "metrics": {
    "h_index_all": 0,
    "h_index_2020": 0,
    "citations_all": 0,
    "citations_2020": 0,
    "i10_index_all": 0,
    "i10_index_2020": 0,
    "num_papers": 0,
    "country_normalized": "string",
    "researcher_category_normalized": "string"
  },
  "hireability": {
    "status": "string",
    "confidence": "string",
    "reasoning": "string",
    "user_reasoning": "string",
    "current_company": "string",
    "past_company_1": "string",
    "past_company_2": "string",
    "cv_update_date": "string",
    "cv_update_description": "string",
    "assessed_at": "2019-08-24T14:15:22Z"
  },
  "scoring": {},
  "final_score": 0,
  "github": {},
  "collaborators": {},
  "website_changes": [
    {}
  ]
}
{
  "error": "string",
  "message": "string"
}
{
  "error": "string",
  "message": "string"
}
{
  "error": "string",
  "message": "string"
}
{
  "error": "string",
  "message": "string"
}