I am looking for publicly available API for querying medicine's descriptions. For example, if I supply Carbidopa/Levodopa or Sinemet the expected return data (in json or xml format) is a simple description such as this:

Levodopa and carbidopa are used in combination to treat the symptoms of Parkinson's disease or Parkinson-like symptoms (e.g., shakiness, stiffness, difficulty moving).

Any suggestions?

3 Answers 3


A few thoughts:

  1. For a simple and down to the point description, Brian's suggestion of MedlinePlus' Web Services is a good start however if you do a search such as http://wsearch.nlm.nih.gov/ws/query?db=healthTopics&term=Levodopa you'll notice that it returns generic information about Parkinkson's disease and not this more appropriate page at http://www.nlm.nih.gov/medlineplus/druginfo/meds/a601068.html. I believe the reason for this is that the drug information at the link above is licensed information and is therefore not shown in the MedlinePlus API, but is shown on the website with the appropriate warnings.

  2. As Brian also mentioned, DailyMed is an authoritative source, also from NLM which gets drug SPL (structured product labels) from the pharma industry and/or FDA; however this might return too much information for you -- see http://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=6c1f7cd4-de56-45c1-a734-5e77b4aeb6f7, for the top result for "LEVODOPA AND CARBIDOPA", for example. You can get this data as XML and extract just the "INDICATIONS AND USAGE" information from the drug SPL, though in my experience they don't all have the same sections, which can make things quite complicated for on-the-fly querying.

  3. Similar to bullet #2, similar SPL/"labeling" information is available from openFDA, a beta initiative by FDA at https://open.fda.gov. Sometimes, querying openFDA will be easier than DailyMed. For example, you can do this (https://api.fda.gov/drug/label.json?search=levodopa+AND+carbidopa) API call on openFDA and then look at the first result's indications_and_usage field which reads as follows:

    INDICATIONS & USAGE section Carbidopa and levodopa extended release tablets are indicated in the treatment of the symptoms of idiopathic Parkinson’s disease (paralysis agitans), postencephalitic parkinsonism, and symptomatic parkinsonism which may follow injury to the nervous system by carbon monoxide intoxication and/or manganese intoxication.

    Just note that "openFDA is a beta research project and not for clinical use" and DailyMed might be able to be trusted more depending on your use case.

Sincerely hope this helps!

  • You are correct on #3. The returned json data is very clean. I was able to extract the needed info into my test application. But it has a major problem: The returned data is not always for the correct medicine. For example, if I asked for alendronate it returned for prednisone or for amlodipine then I got Clarithromycin. Not sure if this is a bug in their database. Any comment on this?
    – EmilyJ
    Feb 4, 2015 at 15:52
  • For the #2, I downloaded the rxnorm_mapping.txt. From that I can get the setID for a drug name. I then used their web search and looked into extract the info from the html. But the needed info did not stay as the same section. As you said it would be a challenging to try to do it on the fly. Any suggestions on this?
    – EmilyJ
    Feb 4, 2015 at 15:53

Emily you could check out the MedlinePlus Web Services - http://www.nlm.nih.gov/medlineplus/webservices.html

We used a simple search of Medline from the presentation of the adverse events drug name's in ResearchAE but the webservice might provide a bit more detail.

Another option could be to check out NLM DailyMed - http://dailymed.nlm.nih.gov/dailymed/help.cfm


What about MeSH?

The MeSH Browser is an online vocabulary look-up aid available for use with MeSH® (Medical Subject Headings). It is designed to help quickly locate descriptors of possible interest and to show the hierarchy in which descriptors of interest appear. Virtually complete MeSH records are available, including the scope notes, annotations, entry vocabulary, history notes, allowable qualifiers, etc. The browser does not link directly to any MEDLINE or other database retrieval system and thus is not a substitute for the PUBMED system.

If you query for Carbidopa at http://www.nlm.nih.gov/mesh/MBrowser.html you will get an html table with a row like

Scope Note
An inhibitor of DOPA DECARBOXYLASE, preventing conversion of LEVODOPA to dopamine. It is used in PARKINSON DISEASE to reduce peripheral adverse effects of LEVODOPA. It has no antiparkinson actions by itself.

If you query for alendronate you'll get

Scope Note  
A nonhormonal medication for the treatment of postmenopausal osteoporosis in women. This drug builds healthy bone, restoring some of the bone loss as a result of osteoporosis.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.