curl --request GET \
--url https://api.pav.bio/v1/trials \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.pav.bio/v1/trials"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.pav.bio/v1/trials', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.pav.bio/v1/trials",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.pav.bio/v1/trials"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.pav.bio/v1/trials")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pav.bio/v1/trials")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"nct_id": "NCT04368728",
"nct_url": "https://clinicaltrials.gov/study/NCT04368728",
"title": "A Study of a Vaccine to Prevent COVID-19",
"phase": "Phase 3",
"status": "Completed",
"sponsor": "Pfizer",
"study_type": "Interventional",
"conditions": [
"COVID-19",
"SARS-CoV-2 Infection"
],
"enrollment_count": 43998,
"program_count": 2,
"company_short_names": [
"pfizer",
"biontech"
],
"lead_sponsor": {
"name": "BioNTech SE",
"role": "lead_sponsor",
"company_id": 127,
"short_name": "biontech"
},
"collaborators": [
{
"name": "BioNTech SE",
"role": "lead_sponsor",
"company_id": 127,
"short_name": "biontech"
}
],
"sponsors": [
{
"name": "BioNTech SE",
"role": "lead_sponsor",
"company_id": 127,
"short_name": "biontech"
}
],
"company_ids": [
127,
506
],
"programs": [
{
"program_id": 1027,
"short_name": "biontech",
"company_id": 127,
"drug": "BNT162b2",
"indication": "COVID-19"
}
],
"start_date": "2020-04-29",
"last_update_post_date": "2023-08-15",
"primary_completion_date": "2012-06-01",
"completion_date": "2013-03-01",
"results_first_post_date": "2016-08-04",
"why_stopped": "Slow enrollment",
"primary_outcomes": [
{
"measure": "Progression-Free Survival (PFS)",
"time_frame": "Year 3",
"description": "Patients are considered a failure if they die, progress, or relapse."
}
]
}
],
"pagination": {
"limit": 100,
"offset": 0,
"total": 590355
}
}{
"error": {
"code": "not_found",
"message": "program 999999 not found",
"request_id": "3f2b9c1d8a7e4f6b9c0d1e2f3a4b5c6d"
}
}{
"error": {
"code": "not_found",
"message": "program 999999 not found",
"request_id": "3f2b9c1d8a7e4f6b9c0d1e2f3a4b5c6d"
}
}{
"error": {
"code": "not_found",
"message": "program 999999 not found",
"request_id": "3f2b9c1d8a7e4f6b9c0d1e2f3a4b5c6d"
}
}{
"error": {
"code": "not_found",
"message": "program 999999 not found",
"request_id": "3f2b9c1d8a7e4f6b9c0d1e2f3a4b5c6d"
}
}List and search clinical trials
List or search ClinicalTrials.gov trials with their links to Pav programs and companies. Search and browse responses report pagination.total = null. Relevance search rejects an explicit sort because it ranks by query match.
curl --request GET \
--url https://api.pav.bio/v1/trials \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.pav.bio/v1/trials"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.pav.bio/v1/trials', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.pav.bio/v1/trials",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.pav.bio/v1/trials"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.pav.bio/v1/trials")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pav.bio/v1/trials")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"nct_id": "NCT04368728",
"nct_url": "https://clinicaltrials.gov/study/NCT04368728",
"title": "A Study of a Vaccine to Prevent COVID-19",
"phase": "Phase 3",
"status": "Completed",
"sponsor": "Pfizer",
"study_type": "Interventional",
"conditions": [
"COVID-19",
"SARS-CoV-2 Infection"
],
"enrollment_count": 43998,
"program_count": 2,
"company_short_names": [
"pfizer",
"biontech"
],
"lead_sponsor": {
"name": "BioNTech SE",
"role": "lead_sponsor",
"company_id": 127,
"short_name": "biontech"
},
"collaborators": [
{
"name": "BioNTech SE",
"role": "lead_sponsor",
"company_id": 127,
"short_name": "biontech"
}
],
"sponsors": [
{
"name": "BioNTech SE",
"role": "lead_sponsor",
"company_id": 127,
"short_name": "biontech"
}
],
"company_ids": [
127,
506
],
"programs": [
{
"program_id": 1027,
"short_name": "biontech",
"company_id": 127,
"drug": "BNT162b2",
"indication": "COVID-19"
}
],
"start_date": "2020-04-29",
"last_update_post_date": "2023-08-15",
"primary_completion_date": "2012-06-01",
"completion_date": "2013-03-01",
"results_first_post_date": "2016-08-04",
"why_stopped": "Slow enrollment",
"primary_outcomes": [
{
"measure": "Progression-Free Survival (PFS)",
"time_frame": "Year 3",
"description": "Patients are considered a failure if they die, progress, or relapse."
}
]
}
],
"pagination": {
"limit": 100,
"offset": 0,
"total": 590355
}
}{
"error": {
"code": "not_found",
"message": "program 999999 not found",
"request_id": "3f2b9c1d8a7e4f6b9c0d1e2f3a4b5c6d"
}
}{
"error": {
"code": "not_found",
"message": "program 999999 not found",
"request_id": "3f2b9c1d8a7e4f6b9c0d1e2f3a4b5c6d"
}
}{
"error": {
"code": "not_found",
"message": "program 999999 not found",
"request_id": "3f2b9c1d8a7e4f6b9c0d1e2f3a4b5c6d"
}
}{
"error": {
"code": "not_found",
"message": "program 999999 not found",
"request_id": "3f2b9c1d8a7e4f6b9c0d1e2f3a4b5c6d"
}
}Authorizations
Use a personal or organization Pav API key from Pav developer settings. Send it as Authorization: Bearer <api_key>.
Query Parameters
Free-text query. When present, runs relevance-ranked search that matches meaning as well as exact words.
"mRNA vaccine phase 3"
Filter by trial phase. Repeatable.
"Phase 3"
Filter by recruitment/operational status. Repeatable.
"Recruiting"
Filter by lead sponsor. Repeatable.
"Pfizer"
Filter by study type. Repeatable.
"Interventional"
Fetch specific trials by NCT id. Repeatable.
"NCT04368728"
Maximum rows to return (1-1000).
1 <= x <= 1000100
Zero-based row offset for paging.
0 <= x <= 20000000000
Sort column for the listing path. Ignored for relevance search.
start_date, last_update, enrollment, nct_id "start_date"
Sort direction for sort.
asc, desc "desc"