Digested Protein DB REST API Documentation

The DigestedProteinDB REST API provides programmatic access to a large database of theoretically digested proteins for use in mass spectrometry (MS) peptide identification workflows. All endpoints return application/json and support pagination.

Available Endpoints
Method Endpoint Description
GET search.php Search peptides by mass range. Returns accession numbers.
GET search-peptide.php Search by peptide amino acid sequence (exact monoisotopic mass match).
GET search-taxonomy.php Search peptides by mass range. Returns accession numbers enriched with NCBI taxonomy IDs.

1. Search by Mass Range — GET search.php

Endpoint
GET https://digestedproteindb.pbf.hr/search.php

Retrieves peptides whose monoisotopic mass falls within the specified range. Returns UniProt accession numbers for each matching peptide.

Query Parameters
Name Type Required Description
mass1 float Yes Lower bound of the mass range in Daltons (inclusive).
mass2 float Yes Upper bound of the mass range in Daltons (inclusive).
page integer No Page number for pagination. Default: 1.
pageSize integer No Results per page. Default: 10. Maximum: 1000.
Request Example
GET https://digestedproteindb.pbf.hr/search.php?mass1=1247.5&mass2=1247.7&page=1&pageSize=10

cURL:

curl "https://digestedproteindb.pbf.hr/search.php?mass1=1247.5&mass2=1247.7&page=1&pageSize=10"
Response

Content-Type: application/json

{
    "totalResult": 431,
    "memory": "2008 MB",
    "duration": "00:00:00.024",
    "page": 1,
    "pageSize": 10,
    "result": [
        {
            "1247.6087": [
                {
                    "seq": "SYTFHFKYR",
                    "acc": ["A0A0C9U8Z7", "A0A0C9UZS6", "A0A0C9UMQ1"]
                },
                {
                    "seq": "AIGFDGWHAFK",
                    "acc": ["A0A8J3B0H4", "A4G425"]
                }
            ]
        }
    ]
}

Fields:

  • totalResult – Total number of matching peptides across all pages.
  • memory – Server memory usage at the time of the request.
  • duration – Server-side query execution time.
  • page / pageSize – Pagination info.
  • result – Array of objects keyed by peptide mass (Da):
    • seq – Peptide amino acid sequence (single-letter code).
    • acc – List of UniProt accession numbers of proteins containing this peptide.

2. Search by Peptide Sequence — GET search-peptide.php

Endpoint
GET https://digestedproteindb.pbf.hr/search-peptide.php

Accepts a peptide amino acid sequence, computes its exact monoisotopic mass server-side, and returns all database entries matching that precise mass. The response format is identical to search.php.

Query Parameters
Name Type Required Description
peptide string Yes Amino acid sequence in single-letter code (e.g. SYTFHFKYR). Mass is computed server-side.
page integer No Page number. Default: 1.
pageSize integer No Results per page. Default: 1000. Maximum: 1000.
Request Example
GET https://digestedproteindb.pbf.hr/search-peptide.php?peptide=SYTFHFKYR

cURL:

curl "https://digestedproteindb.pbf.hr/search-peptide.php?peptide=SYTFHFKYR"

3. Search by Mass Range with Taxonomy — GET search-taxonomy.php

Endpoint
GET https://digestedproteindb.pbf.hr/search-taxonomy.php

Identical to search.php in its query parameters, but the response enriches each accession number with the corresponding NCBI Taxonomy ID (taxId). This allows downstream filtering of results by organism directly from the API response, without requiring additional lookups.

Query Parameters
Name Type Required Description
mass1 float Yes Lower bound of the mass range in Daltons (inclusive).
mass2 float Yes Upper bound of the mass range in Daltons (inclusive).
page integer No Page number. Default: 1.
pageSize integer No Results per page. Default: 1000. Maximum: 1000.
Request Example
GET https://digestedproteindb.pbf.hr/search-taxonomy.php?mass1=1247.5&mass2=1247.7&page=1&pageSize=10

cURL:

curl "https://digestedproteindb.pbf.hr/search-taxonomy.php?mass1=1247.5&mass2=1247.7&page=1&pageSize=10"
Response

Content-Type: application/json

The structure is the same as search.php, except each peptide entry uses accsTax instead of acc. Each element of accsTax is an object containing the UniProt accession and its NCBI Taxonomy ID.

{
    "totalResult": 431,
    "memory": "2014 MB",
    "duration": "00:00:00.047",
    "page": 1,
    "pageSize": 10,
    "result": [
        {
            "1247.6087": [
                {
                    "seq": "SYTFHFKYR",
                    "accsTax": [
                        {"acc": "A0A0C9U8Z7", "taxId": 9606},
                        {"acc": "A0A0C9UZS6", "taxId": 10090},
                        {"acc": "A0A0C9UMQ1", "taxId": 10116}
                    ]
                },
                {
                    "seq": "AIGFDGWHAFK",
                    "accsTax": [
                        {"acc": "A0A8J3B0H4", "taxId": 3702},
                        {"acc": "A4G425",     "taxId": 4577}
                    ]
                }
            ]
        }
    ]
}

Fields specific to this endpoint:

  • accsTax – List of accession/taxonomy objects per peptide (replaces acc):
    • acc – UniProt accession number.
    • taxId – NCBI Taxonomy ID of the source organism (e.g. 9606 = Homo sapiens, 10090 = Mus musculus, 3702 = Arabidopsis thaliana). Use NCBI Taxonomy to resolve IDs to organism names.

Error Responses

  • 400 Bad Request – Missing or invalid parameters.
    {"error": "Mass1 and Mass2 are required as doubles."}
  • 500 Internal Server Error – Unexpected server-side error.
    {"error": "Error details"}

General Notes

  • All masses are monoisotopic masses in Daltons (Da).
  • All endpoints are read-only and optimized for high-performance querying.
  • Maximum pageSize is 1000 for all endpoints.
  • For programmatic access examples in Python, see the Python example scripts included with the database distribution.