Application programming interface (API)

How to get a list of all hPSCreg names

You can get a list of all released cell lines in hPSCreg with:

GET https://hpscreg.eu/api/names

This returns a JSON list. The are not part of the actual output and indicate that there will be more results.


[
    {
        "name": "AAUe001-A",
        "url": "http:\/\/hpscreg.local\/cell-line\/AAUe001-A",
        "other_names": [
            "CLS1"
        ],
        "type": "embryonic stem cell",
        "type_ont_id": "http:\/\/purl.obolibrary.org\/obo\/CL_0002322"
    },
    …
    {
        "name": "BCRTi004-A",
        "url": "http:\/\/hpscreg.local\/cell-line\/BCRTi004-A",
        "databases": [
            {
                "database": {
                    "name": "BioSamples",
                    "description": "database of sample descriptions",
                    "url": "https:\/\/www.ebi.ac.uk\/biosamples\/",
                },
                "id_in_database": "SAMEA4084802",
                "url_in_database": "http:\/\/www.ebi.ac.uk\/biosamples\/samples\/SAMEA4084802"
            }
        ],
        "other_names": [
            "SAMEA4084802"
        ],
        "type": "induced pluripotent stem cell",
        "type_ont_id": "http:\/\/www.ebi.ac.uk\/efo\/EFO_0004905"
    },
    …
]

How to find a specific cell line

You can find the the hPSCreg name of a cell line with a specific synonym or id from another database. An example query for a well known name would be:

GET https://hpscreg.eu/api/names/H9

This also returns a JSON list, because there can be multiple results. Usually the list contains only one result:


[
    {
        "name": "WAe009-A",
        "url": "http:\/\/hpscreg.local\/cell-line\/WAe009-A",
        …
        "other_names": [
            "SAMEA7769668",
            "WA09",
            "H9"
        ],
        "type": "embryonic stem cell",
        "type_ont_id": "http:\/\/purl.obolibrary.org\/obo\/CL_0002322"
    }
]

You can also query with ids from other databases like BioSamples:

GET https://hpscreg.eu/api/names/SAMEA2825851

[
    {
        "name": "UKKi006-A",
        "url": "http:\/\/hpscreg.local\/cell-line\/UKKi006-A",
        "databases": [
            {
                "database": {
                    "name": "BioSamples",
                    "description": "database of sample descriptions",
                    "url": "https:\/\/www.ebi.ac.uk\/biosamples\/",
                },
                "id_in_database": "SAMEA2825851",
                "url_in_database": "http:\/\/www.ebi.ac.uk\/biosamples\/samples\/SAMEA2825851"
            }
        ],
        "other_names": [
            "D4-cB",
            "M4C4",
            "SAMEA2825851",
            "NP0053-5"
        ],
        "type": "induced pluripotent stem cell",
        "type_ont_id": "http:\/\/www.ebi.ac.uk\/efo\/EFO_0004905"
    }
]

If a query doesn't yield any results a HTTP status code of 404 is given. Note that this API is only using full names. This is not a free text search and no substring matching is done. For search in hPSCreg use the browser search.

Some names include characters that can interfere with the URL, like /. For this reason the name to find can also be given as a query parameter, properly escaped:

GET https://hpscreg.eu/api/names?name=BIONi010-C%20ApoE%20E3%2FE3%20%23H8%20P32

[
    {
        "name": "BIONi010-C-2",
        "url": "http:\/\/hpscreg.local\/cell-line\/BIONi010-C-2",
        "databases": [
            {
                "database": {
                    "id": 1,
                    "name": "BioSamples",
                    "description": "database of sample descriptions",
                    "url": "https:\/\/www.ebi.ac.uk\/biosamples\/"
                },
                "id_in_database": "SAMEA4342705",
                "url_in_database": "http:\/\/www.ebi.ac.uk\/biosamples\/samples\/SAMEA4342705"
            }
        ],
        "other_names": [
            "SAMEA4342705",
            "BIONi010-C ApoE E3\/E3 #H8 P32"
        ],
        "type": "induced pluripotent stem cell",
        "type_ont_id": "http:\/\/www.ebi.ac.uk\/efo\/EFO_0004905"
    }
]

JSON fields

The fields of the names result JSON are:

name
hPSCreg name of the cell line
url
public HTML view in hPSCreg
type
name of the cell line type
type_ont_id
ontology id of the cell line type
other names (optional)
list of other known names (including database ids)
databases (optional)
list database objects, see below

In databases we store how the cell line is named in other databases. The fields are:

database (optional)
information about the other database
id_in_database
name of the cell line in the other database
url_in_database
url of the cell line in the other database (usually an HTML page)

The other database is described with these fields:

id
of the other database in hPSCreg
name
name/title of the other database
description (optional)
a short text about the database
url (optional)
public HTML view in hPSCreg