LogoScholarMuse Docs

API reference

Every ScholarMuse tool you can call over REST, with its arguments, discipline pack and credits per call.

This page lists every tool with the arguments it accepts. It is generated from the same definitions the server runs, so it always matches the live API. For authentication, the response format and errors, see REST API.

The same information is available to programs:

  • GET /api/v1 returns the list of tools.
  • GET /api/v1/<tool> returns one tool with the JSON Schema of its arguments.
  • /api/v1/openapi.json is an OpenAPI 3.1 description of the whole API, which tools such as Postman can import.

list_capabilities

List every ScholarMuse capability with its tools, discipline pack and data sources. Call this first to see what you can do for the user.

POST /api/v1/list_capabilities · Pack: General research · 0 credits per successful call

ArgumentTypeRequiredDescription
discipline"general" | "life" | "chem" | "earth" | "astro" | "humanities"noOnly list capabilities in this discipline pack.

create_figure

Generate a publication-ready scientific figure (mechanism or pathway diagram, workflow, study design, graphical abstract, schematic) from a description. Returns an image URL, or a figure_id to fetch with get_figure if it is still rendering. Not for plots of numeric data — write plotting code for those.

POST /api/v1/create_figure · Pack: General research · 0 credits per successful call

ArgumentTypeRequiredDescription
descriptionstringyesWhat the figure shows: the entities, their relationships and the order of events. Be specific and scientifically precise.
kind"mechanism" | "workflow" | "graphical_abstract" | "schematic" | "poster_panel"noFigure type. Default: schematic.
style"nature" | "cell" | "minimal_line" | "flat_color" | "textbook"noVisual style. Default: nature.
labelsstring[]noExact text labels to appear in the figure.
aspect_ratio"16:9" | "4:3" | "1:1" | "3:4" | "9:16"noDefault 16:9 for graphical abstracts and workflows, otherwise 4:3.

edit_figure

Change a figure made with create_figure using a plain-language instruction (e.g. "make the arrows thicker", "rename the label X to Y"). Returns a new image; the original is kept.

POST /api/v1/edit_figure · Pack: General research · 0 credits per successful call

ArgumentTypeRequiredDescription
figure_idstringyesThe figure_id returned by create_figure, edit_figure or get_figure.
instructionstringyesWhat to change. One or two changes per call work best.

get_figure

Fetch a figure by figure_id: returns the image URL when it is ready, or tells you it is still rendering.

POST /api/v1/get_figure · Pack: General research · 0 credits per successful call

ArgumentTypeRequiredDescription
figure_idstringyesThe figure_id returned by create_figure or edit_figure.

search_papers

Search real scholarly papers across OpenAlex, PubMed / Europe PMC, arXiv, INSPIRE-HEP and ERIC, de-duplicated, each source in its own relevance order. Returns DOI, authors, year, venue, citation count and open-access link. Use this instead of recalling references from memory.

POST /api/v1/search_papers · Pack: General research · 1 credit per successful call

ArgumentTypeRequiredDescription
querystringyesTopic, keywords or a natural-language question.
year_fromintegernoEarliest publication year.
year_tointegernoLatest publication year.
open_access_onlybooleannoOnly papers with a free full text.
sourcesstring[]noLimit to these source ids: openalex, pubmed, arxiv, inspire-hep, eric, crossref, dblp. Default: openalex, pubmed and arxiv. Add eric for education research, inspire-hep for high-energy physics, dblp for computer science.
limitintegernoResults to return (default 10).

get_paper

Look up one paper by DOI, PMID ("pmid:123"), PMCID, arXiv id ("arxiv:1706.03762") or OpenAlex id. Returns verified metadata, abstract, citation count, retraction flag and an open-access link when one exists.

POST /api/v1/get_paper · Pack: General research · 1 credit per successful call

ArgumentTypeRequiredDescription
idstringyesDOI (10.xxxx/… or a doi.org URL), pmid:12345, PMC12345, arxiv:2301.01234 (or a bare arXiv id), or an OpenAlex id (W…).

lookup_gene_protein

Resolve a gene symbol, gene name, UniProt accession or Ensembl gene id across NCBI Gene, Ensembl and UniProt and return one record: ids, name, summary and function, chromosome location, protein length, InterPro domains, Reactome pathways and top STRING interaction partners. Use it for verified gene/protein facts instead of recalling them. Research data lookup, not medical advice.

POST /api/v1/lookup_gene_protein · Pack: Life sciences & medicine · 1 credit per successful call

ArgumentTypeRequiredDescription
querystringyesGene symbol (TP53), gene or protein name, UniProt accession (P04637) or Ensembl gene id (ENSG00000141510).
organismstringnoOrganism name or NCBI taxon id, e.g. "mouse", "Danio rerio", "10090". Default: human (9606).
include"domains" | "pathways" | "interactions"[]noExtra sections to fetch: domains (InterPro), pathways (Reactome), interactions (STRING). Default: all.

get_structure

Find 3D structures for a protein: experimental entries from RCSB PDB (method, resolution, release date, organism, mmCIF/PDB download links) plus the AlphaFold DB predicted model (mean pLDDT, version) for the UniProt accession. Pass a PDB id or UniProt accession as `id`, or a protein/gene name as `query`. Research data lookup, not medical advice.

POST /api/v1/get_structure · Pack: Life sciences & medicine · 1 credit per successful call

ArgumentTypeRequiredDescription
idstringnoPDB id (e.g. 1M17) or UniProt accession (e.g. P00533).
querystringnoProtein or gene name when no id is known, e.g. "EGFR" or "hemoglobin".
limitintegernoExperimental structures to return (default 10).

search_clinical_trials

Search the ClinicalTrials.gov registry by condition, intervention, phase, recruitment status and country. Returns NCT id, title, status, phase, conditions, interventions, sponsor, enrollment, dates, primary outcomes and the registry URL. Use it to find or verify registered studies. Registry data for research, not medical advice or a recommendation to enrol.

POST /api/v1/search_clinical_trials · Pack: Life sciences & medicine · 1 credit per successful call

ArgumentTypeRequiredDescription
conditionstringnoDisease or condition, e.g. "heart failure".
interventionstringnoDrug, device or procedure, e.g. "semaglutide".
phaseintegernoTrial phase: 1, 2, 3 or 4.
statusstringnoOverall status: recruiting, not_yet_recruiting, active_not_recruiting, completed, terminated, suspended, withdrawn, enrolling_by_invitation or unknown.
countrystringnoCountry with a study site, in English, e.g. "Germany" or "United States".
querystringnoFree text for anything else (sponsor, outcome, NCT id, keywords).
limitintegernoResults to return (default 10).

lookup_drug

Look up a drug or compound by name or ChEMBL id. Returns ChEMBL facts (ChEMBL id, max clinical phase, molecule type, formula, weight), curated mechanisms and targets, the most frequently reported adverse-event terms from openFDA FAERS (spontaneous report counts, not incidence or risk) and FDA label highlights (indications, whether a boxed warning exists). Research data lookup, not medical advice.

POST /api/v1/lookup_drug · Pack: Life sciences & medicine · 1 credit per successful call

ArgumentTypeRequiredDescription
namestringyesDrug name (generic, brand or research code) or a ChEMBL id such as CHEMBL941.
include"targets" | "adverse_events" | "label"[]noSections to fetch: targets (ChEMBL mechanisms), adverse_events (openFDA FAERS), label (FDA label). Default: all.

search_expression_data

Gene expression lookups: pass `gene` for GTEx median expression (TPM) across human tissues, highest tissues first; pass `query` to search NCBI GEO for expression datasets (series accession, title, organism, sample count, platform, date, URL). Both can be used in one call. Research data lookup, not medical advice.

POST /api/v1/search_expression_data · Pack: Life sciences & medicine · 1 credit per successful call

ArgumentTypeRequiredDescription
genestringnoHuman gene symbol or Ensembl gene id for GTEx tissue expression, e.g. "ALB".
querystringnoKeywords for a GEO dataset search, e.g. "single cell lung fibrosis".
organismstringnoLimit GEO results to an organism (scientific name, e.g. "Mus musculus"). GTEx is human only.
limitintegernoGEO series to return (default 10).

lookup_compound

Look up one chemical compound in PubChem by name, CAS number, SMILES, InChIKey or CID. Returns formula, molecular weight, SMILES, InChIKey, XLogP, H-bond counts, TPSA, synonyms, a 2D structure image URL and the ChEBI definition and roles when available. Use it instead of recalling chemical properties from memory.

POST /api/v1/lookup_compound · Pack: Chemistry & materials · 1 credit per successful call

ArgumentTypeRequiredDescription
querystringyesCompound name, CAS number (58-08-2), SMILES, InChIKey or PubChem CID (2519).

lookup_material

Find crystalline materials by formula, element set or material id across the Materials Project and OQMD (DFT-computed band gap, formation energy, stability) and the Crystallography Open Database (experimental structures with CIF download). Returns space group, lattice parameters and source links for each entry.

POST /api/v1/lookup_material · Pack: Chemistry & materials · 1 credit per successful call

ArgumentTypeRequiredDescription
formulastringnoChemical formula, e.g. TiO2 or LiFePO4.
elementsstring[]noElement symbols; returns materials made of exactly these elements, e.g. ["Ti","O"].
material_idstringnoMaterials Project id (mp-2657) or COD id (cod-1010942 or the 7-digit number).
stable_onlybooleannoOnly thermodynamically stable computed phases (on the convex hull). Skips COD, which has no energies.
limitintegernoEntries to return (default 10).

search_grants

Search funded research projects at NIH (RePORTER), NSF and UKRI by topic, investigator, institution or year. Returns one record per project with project number, PI, organisation, funder, dates, amount and abstract. Use it to find who funds a topic or what a lab is funded for.

POST /api/v1/search_grants · Pack: General research · 1 credit per successful call

ArgumentTypeRequiredDescription
querystringyesResearch topic or keywords, e.g. "CAR-T resistance".
funder"nih" | "nsf" | "ukri"noLimit to one funder. Default: all three.
pi_namestringnoPrincipal investigator name, e.g. "Carl June".
organizationstringnoAwardee institution name, e.g. "Stanford University".
year_fromintegernoEarliest fiscal year (NIH) or start year (NSF, UKRI).
year_tointegernoLatest fiscal year (NIH) or start year (NSF, UKRI).
limitintegernoProjects to return (default 10).

search_datasets

Search research datasets across Zenodo, Dryad, Harvard Dataverse, Hugging Face and DataCite, de-duplicated by DOI. Returns DOI, creators, year, repository, description, size or format when known, and the licence of the dataset itself. Use it to find data to reuse or cite.

POST /api/v1/search_datasets · Pack: General research · 1 credit per successful call

ArgumentTypeRequiredDescription
querystringyesTopic or keywords, e.g. "urban tree canopy".
sources"zenodo" | "dryad" | "dataverse" | "huggingface" | "datacite"[]noLimit to these repositories. Default: all.
limitintegernoDatasets to return (default 10).

find_series

Find official statistical series and indicators (GDP, CPI, unemployment, population, life expectancy…) in FRED, World Bank, IMF, OECD, Eurostat, BLS, US Census and Our World in Data. Returns candidates with a seriesId to pass to get_series. Name the country in the query, e.g. "GDP per capita China".

POST /api/v1/find_series · Pack: General research · 1 credit per successful call

ArgumentTypeRequiredDescription
querystringyesWhat to measure and where, e.g. "US unemployment rate" or "life expectancy Japan".
sources"fred" | "world-bank" | "bls" | "oecd" | "eurostat" | "imf" | "owid" | "census"[]noLimit to these sources: fred, world-bank, imf, oecd, eurostat, bls, census, owid. Default: all.
limitintegernoCandidates to return (default 10).

get_series

Fetch the observations of one official statistical series by the seriesId returned by find_series (e.g. "world-bank:NY.GDP.PCAP.CD?country=CHN", "bls:LNS14000000"). Returns title, units, frequency, geography and dated values. Use it whenever you need real numbers instead of remembered ones.

POST /api/v1/get_series · Pack: General research · 1 credit per successful call

ArgumentTypeRequiredDescription
series_idstringyesA seriesId from find_series, in the form "<source>:<id>" with optional "?dimension=CODE" parts.
startstringnoFirst period to return: a year (2015) or ISO date (2015-06 or 2015-06-01).
endstringnoLast period to return: a year or ISO date.
countrystringnoISO country code (CHN or CN) for per-country sources: world-bank, imf, owid, oecd, eurostat. Overrides the country in series_id.

verify_references

Check a reference list against Crossref and OpenAlex. For each reference returns a status (verified, corrected, not_found, uncertain), the real metadata of the matched paper, the fields that differ (year, pages, DOI, journal, first author) and a retraction flag. Use it to catch invented or wrong citations before a manuscript goes out.

POST /api/v1/verify_references · Pack: General research · 2 credits per successful call

ArgumentTypeRequiredDescription
referencesanyyesThe reference list: one block of text in any citation style or BibTeX, or an array with one reference per item. At most 50 references per call.

check_retractions

Check DOIs for retractions, corrections and expressions of concern using Crossref (which carries the Retraction Watch database) and the OpenAlex retraction flag. Returns one record per DOI with the notice DOI, date and source. Pass DOIs, or a reference list from which DOIs are extracted.

POST /api/v1/check_retractions · Pack: General research · 2 credits per successful call

ArgumentTypeRequiredDescription
doisstring[]noDOIs to check (10.xxxx/… or doi.org URLs), at most 100.
referencesstringnoText containing DOIs, such as a reference list. Only references that include a DOI are checked.

journal_info

Look up a journal by name or ISSN in OpenAlex and DOAJ. Returns publisher, ISSNs, open-access status, whether it is listed in DOAJ, article processing charge, works and citation counts, h-index, homepage and plain-language signals. Use it to check a journal before submitting or citing. Does not return the Journal Impact Factor.

POST /api/v1/journal_info · Pack: General research · 1 credit per successful call

ArgumentTypeRequiredDescription
journalstringyesJournal name (e.g. "PLOS ONE") or ISSN (e.g. "1932-6203").

get_weather_history

Daily or monthly historical weather for any point on Earth from 1981 onward (NASA POWER, satellite and reanalysis based, about 50 km grid): temperature, precipitation, humidity, wind speed and solar radiation. Use it for climate context of a field site or study period; it is gridded model data, not a weather-station record.

POST /api/v1/get_weather_history · Pack: Earth & environment · 1 credit per successful call

ArgumentTypeRequiredDescription
latitudenumberyesLatitude in decimal degrees (north positive).
longitudenumberyesLongitude in decimal degrees (east positive).
startstringyesFirst day, YYYY-MM-DD, not before 1981-01-01.
endstringyesLast day, YYYY-MM-DD.
variables"temperature_max" | "temperature_min" | "temperature_mean" | "precipitation" | "relative_humidity" | "wind_speed" | "solar_radiation"[]noVariables to return. Default: temperature_max, temperature_min, temperature_mean, precipitation.
aggregate"daily" | "monthly"nodaily (default, at most 2,000 days per call) or monthly means for long periods.

search_earthquakes

Search the USGS global earthquake catalogue by area, magnitude and date. Returns magnitude, time (UTC), place, coordinates, depth and the USGS event page for each event.

POST /api/v1/search_earthquakes · Pack: Earth & environment · 1 credit per successful call

ArgumentTypeRequiredDescription
latitudenumbernoCentre latitude; use together with longitude.
longitudenumbernoCentre longitude; use together with latitude.
radius_kmnumbernoSearch radius around the centre (default 100 km).
min_magnitudenumbernoSmallest magnitude to include.
startstringnoEarliest date, YYYY-MM-DD (UTC). Default: 30 days ago.
endstringnoLatest date, YYYY-MM-DD (UTC). Default: now.
limitintegernoEvents to return (default 20).
order"time" | "magnitude"noNewest first (time, default) or largest first.

get_water_data

Daily mean streamflow, gage height or water temperature from a USGS monitoring site in the United States, or a list of sites in a state or bounding box when no site number is given. Use the site list first if you do not know the site number.

POST /api/v1/get_water_data · Pack: Earth & environment · 1 credit per successful call

ArgumentTypeRequiredDescription
sitestringnoUSGS site number, e.g. 01646500 (Potomac River near Washington, DC).
statestringnoUS state to list sites in: two-letter code (MD) or full name.
bboxnumber[]noBounding box to list sites in: [west, south, east, north] in decimal degrees.
parameter"streamflow" | "gage_height" | "water_temperature"noWhat to measure (default streamflow).
startstringnoFirst day, YYYY-MM-DD. Default: 30 days before end.
endstringnoLast day, YYYY-MM-DD. Default: today.
limitintegernoSites to list when no site is given (default 20).

search_species_occurrence

Find where and when a species has been recorded, from GBIF. Resolves a scientific or common name to a taxon, then returns the total record count and georeferenced occurrence records (coordinates, date, country, dataset, licence). Only CC0 and CC BY records are returned.

POST /api/v1/search_species_occurrence · Pack: Earth & environment · 1 credit per successful call

ArgumentTypeRequiredDescription
speciesstringyesScientific name (Danaus plexippus) or common name (monarch butterfly).
countrystringnoTwo-letter ISO 3166 country code, e.g. MX.
year_fromintegernoEarliest year of the record.
year_tointegernoLatest year of the record.
has_coordinatesbooleannoOnly records with coordinates (default true).
limitintegernoRecords to return (default 50).

get_air_quality

Measured air quality near a point from OpenAQ: the nearest monitoring stations within 25 km and their daily mean PM2.5, PM10, NO2, O3, SO2 and CO with units. Use it for ground-station pollution data for a place and period.

POST /api/v1/get_air_quality · Pack: Earth & environment · 1 credit per successful call

ArgumentTypeRequiredDescription
latitudenumberyesLatitude in decimal degrees.
longitudenumberyesLongitude in decimal degrees.
radius_kmnumbernoSearch radius in km (default and maximum 25).
pollutants"pm25" | "pm10" | "no2" | "o3" | "so2" | "co"[]noPollutants to return. Default: all of pm25, pm10, no2, o3, so2, co.
startstringnoFirst day, YYYY-MM-DD. Default: 7 days before end.
endstringnoLast day, YYYY-MM-DD. Default: today.

lookup_astro_object

Resolve the name of a star, galaxy, nebula or other object outside the Solar System in SIMBAD. Returns the main identifier, object type, ICRS coordinates in degrees, parallax, proper motion, radial velocity, spectral type, V magnitude and other identifiers.

POST /api/v1/lookup_astro_object · Pack: Astronomy · 1 credit per successful call

ArgumentTypeRequiredDescription
namestringyesObject name or catalogue identifier, e.g. M31, Betelgeuse, HD 209458, TRAPPIST-1.

search_exoplanets

Search confirmed exoplanets in the NASA Exoplanet Archive (composite parameters, one row per planet) by host star, name, discovery method, distance, radius or discovery year. Returns period, radius, mass, equilibrium temperature, insolation, distance and the discovery reference. The habitable-zone filter is approximate.

POST /api/v1/search_exoplanets · Pack: Astronomy · 1 credit per successful call

ArgumentTypeRequiredDescription
host_starstringnoExact host star name, e.g. TRAPPIST-1 or Kepler-186.
planet_namestringnoPlanet name or part of it, e.g. "Proxima Cen b".
discovery_methodstringnoDiscovery method, e.g. Transit, Radial Velocity, Imaging, Microlensing, Transit Timing Variations, Astrometry.
max_distance_pcnumbernoMaximum distance from the Sun in parsecs.
min_radius_earthnumbernoMinimum planet radius in Earth radii.
max_radius_earthnumbernoMaximum planet radius in Earth radii.
in_habitable_zonebooleannoApproximate habitable zone only: insolation between 0.25 and 1.7 times what Earth receives.
discovered_afterintegernoOnly planets discovered after this year.
limitintegernoPlanets to return (default 25).

query_gaia

List Gaia DR3 sources within a radius of a sky position (cone search), brightest first. Returns position, parallax, proper motion, G/BP/RP magnitudes, radial velocity and effective temperature for each source. Use lookup_astro_object first to get the coordinates of a named object.

POST /api/v1/query_gaia · Pack: Astronomy · 1 credit per successful call

ArgumentTypeRequiredDescription
ranumberyesRight ascension of the centre in degrees (ICRS).
decnumberyesDeclination of the centre in degrees (ICRS).
radius_degnumberyesSearch radius in degrees (maximum 1.0).
max_g_magnumbernoOnly sources at least this bright in the G band.
limitintegernoSources to return (default 50).

search_archives

Search digitised primary sources: historical US newspaper pages (Chronicling America, full OCR text), photographs, maps and manuscripts from the Library of Congress, and cultural heritage items from Europeana. Returns title, date, place, rights statement, thumbnail, item link and a text snippet for each item.

POST /api/v1/search_archives · Pack: Humanities & math · 1 credit per successful call

ArgumentTypeRequiredDescription
querystringyesKeywords, e.g. "influenza Chicago". For newspapers every word must appear on the page.
type"newspaper" | "image" | "manuscript" | "map" | "any"noKind of material (default any).
date_fromintegernoEarliest year, e.g. 1918.
date_tointegernoLatest year, e.g. 1918.
sources"loc" | "europeana"[]noLimit to these sources: loc (Library of Congress), europeana. Default: both.
limitintegernoItems to return (default 10).

lookup_integer_sequence

Identify or look up an integer sequence in the OEIS from its first terms ("1,1,2,3,5,8"), an A-number (A000045) or keywords. Returns the A-number, name, first terms, formulas and keywords. Use it to recognise a sequence from computed terms or to find its formula and references.

POST /api/v1/lookup_integer_sequence · Pack: Humanities & math · 1 credit per successful call

ArgumentTypeRequiredDescription
querystringyesComma-separated terms such as "1,1,2,3,5,8", an A-number such as A000045, or keywords.
limitintegernoSequences to return (default 5).