What's the difference between EDirect and E-utilities?
Please note: following the release of the new version of PubMed, the results returned by E-utilities queries of PubMed may differ slightly from those returned in the web version of PubMed. A new PubMed API is currently under development: more information will be announced when available.
As new Insider's Guide classes are no longer being offered, this site is not currently being updated. Please refer to NCBI's E-utilities documentation for more up-to-date information.
If you have reviewed our Insider’s Guide Overview, you know that E-utilities is an API that lets you search and retrieve data from NCBI databases (like PubMed). E-utilities allows you to query these databases by creating structured URLs. The response that you get to your query depends on how you construct the URL.
EDirect is a software package, developed by NCBI, which includes set of tools that make it easier to use E-utilities. Rather than creating each query by hand, EDirect has the E-utilities URL creation rules built into a series of commands. You execute an EDirect command, and EDirect creates an E-utilities URL, queries the server, and shows you the response. For example:
esearchEDirect command uses the ESearch E-utilities utility.
efetchEDirect command uses the EFetch E-utilities utility.
einfoEDirect command uses the EInfo E-utilities utility.
And so on. It is important to remember that EDirect and E-utilities are different things, though they are related:
- E-utilities is an API that can be used to access PubMed and other NCBI data.
- EDirect is a set of tools that allow you to more easily use the E-utilities API in a Unix environment.
It can be helpful to visualize the relationship like this:
Reading from the bottom up:
- Your goal is to access PubMed data.
- You can use the E-utilities API as a channel to access that data.
- You can use EDirect as a tool to facilitate the use of E-utilities, but only if…
- …you are working in a Unix environment.
If you are working in an environment other than Unix, you can still use the E-utilities API. However, since the EDirect software only works in Unix, if you are in a different environment, you will need to use different tools.