CDBProm v2.0 — Database Query API
This API provides programmatic access to the promoter sequence database used by CDBProm v2.0. Users can retrieve promoter entries filtered by organism name, NCBI ID, or functional annotation. All responses are JSON-formatted and paginated (10 results per page).
For using CDBProm's API, you will need to request an API key through our contact page
Base URL: https://xxx
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
organism_name |
string | No | Case-insensitive match on organism name. Partial matches allowed. |
annotation |
string | No | Filters promoters based on functional annotation. |
ncbi_id |
string | No | Exact match on NCBI accession ID. |
page |
integer | No | Page number for paginated results (default = 1). |
Response Structure
The API returns paginated results using the standard Django REST Framework format.
{
"results-count": 278,
"next": "https://cdbprom/api/query/?page=2&organism_name=Escherichia",
"previous": null,
"results": [
{
"ncbi_id": "NC_011415.1",
"organism_name": "Escherichia coli",
"sequence": "TCGATC...(-60 to +1 region)",
"annotation": "peroxide stress protein YaaA"
},
{
"ncbi_id": "NC_005043.1",
"organism_name": "Chlamydia pneumoniae",
"sequence": "TAGTGG...(-60 to +1 region)",
"annotation": "ribonuclease Z"
}
]
}
Example Requests
1. Query by organism name
GET /api/query/?organism_name=Chlamydia_pneumoniae
2. Query by NCBI ID
GET /api/query/?ncbi_id=NC_005043.1
3. Query by annotation
GET /api/query/?annotation=ribonuclease Z
4. Combined filters
GET /api/query/?organism_name=Chlamydia_pneumoniae&annotation=ribonuclease Z
5. Paginated results
GET /api/query/?page=3&organism_name=Chlamydia_pneumoniae
Field Descriptions
| Field | Description |
|---|---|
ncbi_id |
NCBI accession number of the genome associated with the promoter. |
organism_name |
Full organism name from the curated dataset. |
sequence |
Promoter nucleotide sequence (−60 to +1 relative to TSS). |
annotation |
Functional annotation of the promoter or upstream gene. |
JavaScript Example
fetch(`/api/query/?${params.toString()}`)
.then(response => response.json())
.then(data => {
console.log(data.results);
// Render into HTML table…
});