Papers/Search
Search papers
Full-text search across papers with relevance ranking
Authorization
x-api-key<token>
In: header
Request Body
application/jsonRequiredquerystring
Search query (searches title, abstract, keywords)
venues?array<string>
Filter by venues (uses ILIKE matching)
yearFrom?integer
Minimum publication year
yearTo?integer
Maximum publication year
authors?array<string>
Filter by author slugs (ALL must match - intersection)
minCitations?integer
Minimum citation count
limit?integer
Maximum number of results (default 50, max 100)
Default
50Range
value <= 100Response Body
Successful response
TypeScript Definitions
Use the response body type in TypeScript.
results?array<object & object>
count?integer
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
Internal server error
TypeScript Definitions
Use the response body type in TypeScript.
error?string
message?string
curl -X POST "https://hiring-api.microforge.studio/v1/papers/search" \
-H "Content-Type: application/json" \
-d '{
"query": "transformer attention",
"yearFrom": 2020,
"minCitations": 50,
"limit": 20
}'const body = JSON.stringify({
"query": "transformer attention",
"yearFrom": 2020,
"minCitations": 50,
"limit": 20
})
fetch("https://hiring-api.microforge.studio/v1/papers/search", {
body
})package main
import (
"fmt"
"net/http"
"io/ioutil"
"strings"
)
func main() {
url := "https://hiring-api.microforge.studio/v1/papers/search"
body := strings.NewReader(`{
"query": "transformer attention",
"yearFrom": 2020,
"minCitations": 50,
"limit": 20
}`)
req, _ := http.NewRequest("POST", url, body)
req.Header.Add("Content-Type", "application/json")
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/papers/search"
body = {
"query": "transformer attention",
"yearFrom": 2020,
"minCitations": 50,
"limit": 20
}
response = requests.request("POST", url, json = body, headers = {
"Content-Type": "application/json"
})
print(response.text){
"results": [
{
"paper_id": "string",
"researcher_slug": "string",
"title": "string",
"abstract": "string",
"keywords": [
"string"
],
"authors": [
"string"
],
"author_position": 0,
"is_lead_author": true,
"publication_year": 0,
"citations_count": 0,
"venue": "string",
"gscholar_link": "string",
"url": "string",
"source_db": "string",
"relevance_score": 0
}
],
"count": 0
}{
"error": "string",
"message": "string"
}{
"error": "string",
"message": "string"
}{
"error": "string",
"message": "string"
}