Skip to content
Eden Engine

Academic Author Search (by Name)

omnial/author-search

Given an author's name, returns matching researcher profiles (there is often more than one person with the same name) with current institutional affiliation, total publications, total citations, h-index, i10-index, and that researcher's most-cited papers with title, year, and citation count each.

activeper callv3

Price

$0.0301 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.00.

Data source

OpenAlex

Use it

Your AI assistant does the work: it finds this tool, shows you the price first, runs it, and you are charged when the run finishes. There is nothing to set up for this tool in particular.

Connect once and your AI can find and run this tool, and any other it needs.

For developers: the calls your assistant makes
agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/author-search" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/author-search" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/author-search", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/author-search", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0301
Updated
Oct 27, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "author name to search"
    },
    "maxItems": {
      "type": "string",
      "default": "10",
      "description": "1-25 candidate authors"
    },
    "top_works": {
      "type": "string",
      "default": "5",
      "description": "top papers per author (0-25)"
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "Present instead of `count`/`items` when the data source rejects the request outright, e.g. 'HTTP_400' for a nonsense/invalid name; behavior for a merely-unrecognized-but-well-formed name is not documented."
    },
    "count": {
      "type": "number",
      "description": "Number of candidate profiles in `items`. Absent (along with `items`) when the name was rejected outright -- see `code`/`message`."
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The candidate researcher's publication name, e.g. 'Geoffrey E. Hinton'."
          },
          "type": {
            "type": "string",
            "description": "Observed as the literal string 'author' on every entry."
          },
          "orcid": {
            "type": [
              "string",
              "null"
            ],
            "description": "The researcher's ORCID identifier, when the profile has one on file. Usually `null`; the shape of a populated value is not documented."
          },
          "hIndex": {
            "type": "number"
          },
          "i10Index": {
            "type": "number"
          },
          "topWorks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "doi": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "The paper's DOI (e.g. '10.1038/nature14539'), when it has one on file. Often `null` -- not every indexed work carries a DOI."
                },
                "url": {
                  "type": "null",
                  "description": "A link to the paper (a doi.org or openalex.org URL). Value withheld the same way as `openAlexId`."
                },
                "year": {
                  "type": "number"
                },
                "title": {
                  "type": "string"
                },
                "citedByCount": {
                  "type": "number"
                }
              },
              "additionalProperties": true
            },
            "description": "This author's most-cited papers, up to the input `top_works` count. Often an empty array for low-publication-count candidates."
          },
          "openAlexId": {
            "type": "null",
            "description": "An OpenAlex researcher-profile identifier URL. Value withheld (always returned as `null` regardless of the real underlying id) -- only that the field exists is observable, not the identifier itself."
          },
          "worksCount": {
            "type": "number",
            "description": "Total publications on file."
          },
          "affiliations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ror": {
                  "type": "null",
                  "description": "A ror.org research-organization identifier URL. Value withheld the same way as `openAlexId`."
                },
                "name": {
                  "type": "string",
                  "description": "The institution's public name."
                },
                "country": {
                  "type": "string",
                  "description": "Two-letter country code, e.g. 'CA'."
                }
              },
              "additionalProperties": true
            },
            "description": "Current/recent institutional affiliations. Often an empty array for low-publication-count candidates."
          },
          "citedByCount": {
            "type": "number",
            "description": "Total citations across all works."
          },
          "meanCitedness2yr": {
            "type": "number",
            "description": "Average citations per work over the most recent 2-year window."
          }
        },
        "additionalProperties": true
      },
      "description": "One entry per candidate author profile matching the searched name -- a common name can return many unrelated people, not one disambiguated match (10 distinct people observed for a single well-known name, several sharing near-identical name strings)."
    },
    "message": {
      "type": "string",
      "description": "Human-readable detail accompanying `code`."
    }
  },
  "description": "The search result.",
  "additionalProperties": true
}