Skip to main content

Elsevier Developer Portal

ScienceDirect Query API

This represents the search interfaces associated with ScienceDirect. Each search result will, by definition, link to a Full-Text article. Search entries might also have links to a Scopus abstract representation of the result.



Additional information includes ScienceDirect Search Views and ScienceDirect Query Tips.

Summary

Resource Method Description
https://api.elsevier.com/content/search/scidir GET
ScienceDirect Query API: This represents a search against the ScienceDirect cluster, which contains serial/nonserial full-text articles. ScienceDirect is a leading full-text scientific database offering journal articles and book chapters from more than 2,500 journals and almost 20,000 books. This API resource allows for the submission of Boolean queries into the ScienceDirect index, retrieving relevant result metadata in user-specific text formats.

Resources


https://api.elsevier.com/content/search/scidir

ScienceDirect Query API: This represents a search against the ScienceDirect cluster, which contains serial/nonserial full-text articles. ScienceDirect is a leading full-text scientific database offering journal articles and book chapters from more than 2,500 journals and almost 20,000 books. This API resource allows for the submission of Boolean queries into the ScienceDirect index, retrieving relevant result metadata in user-specific text formats.

Methods
GET simple()

request
header params
Accept xsd:string
(required)
default: application/json
options: application/json, application/atom+xml, application/xml
This represents the acceptable mime types in which the response can be generated. This can also be submitted as the query string parameter "httpAccept". This returns the response in JSON, ATOM, or XML mark-up.
Authorization xsd:string This header field contains the OAuth bearer access token in which the format of the field is "Bearer <token>" (where the token represents the end-user session key). The presence of a bearer token implies the request will be executed against user-based entitlements. The Authorization field overrides X-ELS-Authtoken.
X-ELS-APIKey xsd:string
(required)
This represents a unique application developer key providing access to API resources. This key can also be submitted as the query string parameter "apiKey"
X-ELS-Authtoken xsd:string This represents a end-user session. If provided, this token is used to validate the credentials needed to access content in this resource. This token can also be submitted through the HTTP header "Authorization" or the query string parameter "access_token".
X-ELS-Insttoken xsd:string This represents a institution token. If provided, this key (in combination with its associated APIKey) is used to establish the credentials needed to access content in this resource. This token can also be provided through the query string parameter "insttoken".
X-ELS-ReqId xsd:string This is a client-defined request identifier, which will be logged in all trace messages of the service. This identifier can be used to track a specific transaction in the service's message logs. It will also be returned as an HTTP header in the corresponding response. Note that this should be a unique identifier for the client, and used to track a single transaction.
X-ELS-ResourceVersion xsd:string
options: facetexpand, allexpand, new


Represents the version of the resource that should be received. Multiple attributes can

be submitted by separating with commas or semicolons. Options include:



facetexpand - adds new fields under each facet returned (where applicable)

allexpand - (same as facetexpand)

new - returns the most recent and prototyped features

query params
httpAccept xsd:string
options: application/json, application/atom+xml, application/xml
Override for HTTP header Accept, this represents the acceptable mime types in which the response can be generated.
access_token xsd:string Override for HTTP header Authorization, this contains the OAuth bearer access token, where the format of the field is "token>" (where the token represents the end-user session key). The presence of a bearer token implies the request will be executed against user-based entitlements.
insttoken xsd:string Override for HTTP header X-ELS-Insttoken, this represents a institution token. If provided, this key (in combination with its associated APIKey) is used to establish the credentials needed to access content in this resource.
apiKey xsd:string Override for HTTP header X-ELS-APIKey, this represents a unique application developer key providing access to resource.
reqId xsd:string Override for HTTP header X-ELS-ReqId, this is a client-defined request identifier, which will be logged in all trace messages of the service. This identifier can be used to track a specific transaction in the service's message logs. Note that this should be a unique identifier for the client, and used to track a single transaction.
ver xsd:string
options: facetexpand, allexpand, new


Override for HTTP header X-ELS-ResourceVersion, this represents the version of the resource that should be received.

Multiple attributes can be submitted by separating with commas or semicolons. Options include:



facetexpand - adds new fields under each facet returned (where applicable)

allexpand - (same as facetexpand)

new - returns the most recent and prototyped features
query xsd:string
(required)


This represents the boolean search to be executed against the SCIDIR cluster (full text articles).

There is additional information regarding Search Tips.



ex. query=heart+attack%20AND%20text(liver)
oa xsd:string
default: false
options: true, false


This parameter is used in conjunction with 'subscribed=true' to indicate the user wants to search only those documents marked as Open Access (true). When set to 'true', this allows a user to run a union search across all subscribed content, in addition to other non-subscribed 'open access' documents.



ex. subscribed=true&oa=true
view xsd:string
default: STANDARD
options: STANDARD, COMPLETE


This alias represents the list of elements that will be returned in the response.



The following chart shows the ScienceDirect Query Views.
field xsd:string

This alias represents the name of specific fields that should be returned. The list of fields include each of the primary fields returned in the response payload (see view).

Multiple fields can be specified, delimited by commas. Note that specifying this parameter overrides the view parameter.



ex. field=url,identifier,description
suppressNavLinks xsd:string
default: false
options: true, false


This parameter is used to suppress the inclusion of top-level navigation links in the response payload.
date xsd:string

Represents the date range associated with the search, with the lowest granularity being year.



ex. date=2002-2007
start xsd:string

Numeric value representing the results offset (i.e. starting position for the search results). The maximum for this value is a system-level default (varies with search cluster) minus the number of results requested. If not specified the offset will be set to zero (i.e. first search result)



ex. start=5
count xsd:string

Numeric value representing the maximum number of results to be returned for the search. If not provided this will be set to a system default based on service level.

In addition the number cannot exceed the maximum system default - if it does an error will be returned.



ex. count=10
sort xsd:string
options: coverDate, publicationName, relevancy, sort-order


Represents the sort field name and order. A plus in front of the sort field name indicates ascending order, a minus indicates descending order. If sort order is not specified (i.e. no + or -) then the order defaults to ascending (ASC).



Up to three fields can be specified, each delimited by a comma. The precedence is determined by their order (i.e. first is primary, second is secondary, and third is tertiary).



+/-{field name}[,+/-{field name}



ex. sort=+coverDate,-publicationName
subscribed xsd:string
default: false
options: true, false


This parameter is used to indicate whether the search is executed against only those sources to which a user is subscribed (true/false). The default behavior is against the end-user or guest level source list.

True encompasses only the data the requestor is subscribed to will be returned. False indicates all sources available in the SD "all" list will be returned, which includes non-subscribed content.
content xsd:string
default: all
options: all, serial, nonserial, journals, allbooks


Represents the category of content that should be searched.

serial = journal, handbooks, and book series

nonserial = reference works and ebooks only

journals = journals only

allbooks = handbooks, book series, reference works and ebooks
subj xsd:string

Represents the subject area code associated with the content category desired. Note that these subject code mapping vary based upon the environment in which the request is executed.



The following resource shows all of the available subject classifications.
facets xsd:string
options: contenttype, srctitle, pubyear, topics


Represents the navigator that should be included in the search results. One or more navigators can be specified on the request, delimited by a semicolon Different dimensions of the navigator will be represented within parentheses. These dimensions include:



count : the number of "buckets" to include (i.e. how many navigator entries)

sort : how the navigators should be sorted. Options include na (Modifier name, ascending), fd (Modifier frequency, descending), and fdna (Modifier frequency descending, secondary sort through unity by name, ascending).

prefix : filters the facet values to only those matching the prefix specified (not applicable for numeric values).



In addition, qualifiers can be specified to include or exclude values from the response (i.e. filter). The options:



include : include only the value specified from the facet response.

include_above : include only values above the value specified from the facet response.

include_below : include only values below the value specified from the facet response.

exclude : exclude only the value specified from the facet response.

exclude_above : exclude all values above the value specified from the facet response.

exclude_below : exclude all values below the value specified from the facet response.



ex. facets=srctitle(count=20,sort=na,prefix=Ma);topics(prefix=J);contenttype(sort=fd);pubyr;topics(sort=fdna)



Available facets include:



CONTENTTYPE - content category

SRCTITLE - sources (returned as source identifier)

PUBYEAR - publication year

TOPICS - subject category navigator

responses
status:
200
representations
application/json SCIDIR JSON Response: This is XML representing the requested document. JSON Example
status:
200
representations
application/atom+xml SCIDIR ATOM Response: This is XML representing the requested document. ATOM+XML Example
status:
200
representations
application/xml SCIDIR XML Response: This is XML representing the requested document. XML Example
status:
400
representations
text/xml Invalid Request: This is an error that occurs when invalid information is submitted. Invalid Request Example
status:
401
representations
text/xml Authentication Error: This is an error that occurs when a user cannot be authenticated due to missing/invalid credentials (authtoken or APIKey). Authentication Error Example
status:
403
representations
text/xml Authorization/Entitlements Error: This is an error that occurs when a user cannot be authenticated or entitlements cannot be validated. Authorization Error Example
status:
405
representations
text/xml Invalid HTTP Method: This is an error that occurs when the requested HTTP Method is invalid. Invalid Method Example
status:
406
representations
text/xml Invalid Mime Type: This is an error that occurs when the requested mime type is invalid. Invalid Mime Type Example
status:
429
representations
text/xml Quota Exceeded: This is an error that occurs when a requester has exceeded the quota limits associated with their API Key. Quota Exceeded Example
status:
500
representations
text/xml Generic Error: This is a general purpose error condition, typically due to back-end processing errors. Generic Error Example