Filtering
All SKG-IF search endpoints take a single required filter parameter.
Syntax
filter=key1:value1,key2:value2
| Separator | Meaning | Example |
|---|---|---|
: | Binds a key to its value | product_type:literature |
, | AND across different keys | product_type:literature,cf.language:English |
| | OR within one key's value | product_type:literature|research data |
filter is required — a request without it fails. Values containing spaces must be URL-encoded (research%20data).
Convenience filters
Keys beginning with cf. are convenience filters: OpenAIRE extensions that are not part of the SKG-IF specification. They expose useful Graph capabilities — free-text search, subject and language filtering — that the specification does not define.
Every other key maps to a field defined by SKG-IF; for what a field means, see that entity's page in the Interoperability Framework (research product, agent, data source, grant).
Research products
GET /skg-if/v1/products
| Filter | Description |
|---|---|
product_type | One of literature, research data, research software, other (the OpenAIRE names publication, dataset, software are also accepted) |
identifiers.id | Identifier value, e.g. a DOI |
identifiers.scheme | Identifier scheme |
contributions.by.local_identifier | Contributor by local identifier |
contributions.by.identifiers.id | Contributor by identifier value, e.g. an ORCID |
contributions.by.identifiers.scheme | Contributor by identifier scheme |
contributions.by.given_name | Contributor given name |
contributions.by.family_name | Contributor family name |
contributions.by.name | Contributor full name |
contributions.declared_affiliations.local_identifier | Declared affiliation by local identifier |
contributions.declared_affiliations.identifiers.id | Declared affiliation by identifier value, e.g. a ROR |
contributions.declared_affiliations.identifiers.scheme | Declared affiliation by identifier scheme |
contributions.declared_affiliations.name | Declared affiliation name |
contributions.declared_affiliations.short_name | Declared affiliation short name |
funding.local_identifier | Grant by local identifier |
funding.identifiers.id | Grant by identifier value |
funding.identifiers.scheme | Grant by identifier scheme |
cf.search.title | Free-text search in the title |
cf.search.title_abstract | Free-text search in title and abstract |
cf.subject | Subject / keyword |
cf.language | Language, e.g. English |
cf.contributions_orcid | Contributor ORCID |
cf.cites | Products citing the given identifier |
cf.access_rights | Access rights of the best manifestation |
Organisations
GET /skg-if/v1/organisations
| Filter | Description |
|---|---|
identifiers.id | Identifier value, e.g. a ROR |
name | Organisation name |
short_name | Organisation short name or acronym |
country | Country code, e.g. GR |
cf.search.name | Free-text search across organisation names |
Persons
GET /skg-if/v1/persons
| Filter | Description |
|---|---|
identifiers.id | Identifier value, e.g. an ORCID |
given_name | Given name |
family_name | Family name |
cf.search.given_name | Free-text search in the given name |
cf.search.family_name | Free-text search in the family name |
cf.search.name | Free-text search across the full name |
Data sources
GET /skg-if/v1/datasources
| Filter | Description |
|---|---|
data_source_classification | One of repository, aggregator, scientific database, journal archive, publisher archive, cris system |
identifiers.value | Identifier value |
cf.search.name | Free-text search across the official and English names |
Grants
GET /skg-if/v1/grants
| Filter | Description |
|---|---|
grant_number | Grant agreement code, e.g. 101017452 |
acronym | Grant acronym |
funding_stream | Funding stream, matched across all funding levels |
funding_agency.short_name | Funder short name, e.g. EC |
beneficiaries.name | Beneficiary organisation name |
beneficiaries.short_name | Beneficiary organisation short name |
beneficiaries.country | Beneficiary organisation country code |
cf.search.title | Free-text search in the grant title |
cf.duration.start.from | Start date on or after (YYYY or YYYY-MM-DD) |
cf.duration.start.to | Start date on or before (YYYY or YYYY-MM-DD) |
cf.duration.end.from | End date on or after (YYYY or YYYY-MM-DD) |
cf.duration.end.to | End date on or before (YYYY or YYYY-MM-DD) |
Errors
| Code | When |
|---|---|
| 422 | Unknown filter key for the endpoint, malformed filter syntax, or a value outside the allowed set for product_type, data_source_classification or the grant date filters |
A filter that the SKG-IF specification defines but OpenAIRE cannot serve is rejected rather than ignored, so an unsupported filter never silently returns unfiltered results:
{
"message": "key 'identifiers.scheme' is not supported by this endpoint",
"error": "Unprocessable Entity",
"code": 422
}