OpenCitations Meta: SPARQL Query (Scholarly Works, Authors, Identifiers)
opencitationsmetasparql/sparql-select
Runs a read-only SPARQL SELECT query against OpenCitations Meta, the CC0 bibliographic metadata of hundreds of millions of scholarly works with their titles, publication dates, identifiers (DOI, PMID, ISSN and others), authors and venues. You write the SPARQL; the answer is the standard SPARQL results document with the selected variables under `head.vars` and one object per solution under `results.bindings`. The query must end with LIMIT n (1 to 1000), optionally followed by OFFSET m; SELECT only, at most 2000 characters. An empty `bindings` list is a valid empty answer. OpenCitations data as served by Eden Engine; not an official OpenCitations product.
Price
$0.0026 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 $0.50.
Data source
Data from OpenCitations Meta (opencitations.net), released under a Creative Commons CC0 Public Domain Waiver (read 2026-10-21). No credit is required; credit offered as a courtesy: OpenCitations. Served by Eden Engine; not an official OpenCitations product.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "opencitationsmetasparql/sparql-select" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "opencitationsmetasparql/sparql-select" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "opencitationsmetasparql/sparql-select", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "opencitationsmetasparql/sparql-select", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot 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.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 24, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"pattern": "^(?![\\s\\S]*\\b[Ss][Ee][Rr][Vv][Ii][Cc][Ee]\\b)(?=[\\s\\S]*\\b[Ss][Ee][Ll][Ee][Cc][Tt]\\b)(?:[^#<]|<(?![^<>\"{}|^\\x60\\\\\\s]*>)|<[^<>\"{}|^\\x60\\\\\\s]*>)*\\b[Ll][Ii][Mm][Ii][Tt]\\s+([1-9][0-9]{0,2}|1000)(\\s+[Oo][Ff][Ff][Ss][Ee][Tt]\\s+[0-9]{1,7})?\\s*$",
"maxLength": 2000,
"minLength": 20,
"description": "A SPARQL SELECT query of at most 2000 characters that ends with LIMIT n (n from 1 to 1000), optionally followed by OFFSET m, for example SELECT ?s ?p ?o WHERE { ?s ?p ?o } LIMIT 3. The LIMIT is required because the dataset holds billions of statements; page with OFFSET. A query without it, one that is not a SELECT, one with a SERVICE clause, or one with a # comment outside a <...> IRI is refused before any call is made; a query the engine cannot parse is refused as invalid."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"head",
"results"
],
"properties": {
"head": {
"type": "object",
"properties": {
"vars": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "`vars` lists the selected variable names.",
"additionalProperties": true
},
"meta": {
"type": "object",
"description": "Engine statistics (query time in ms, result size).",
"additionalProperties": true
},
"results": {
"type": "object",
"properties": {
"bindings": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "One object per solution, keyed by variable name. Each value is a term object: `type` (uri or literal), `value` and, for typed literals, `datatype`. A variable left unbound by an OPTIONAL is absent from its row. An empty list means no match."
}
},
"additionalProperties": true
}
},
"description": "The SPARQL 1.1 query results document (application/sparql-results+json), passed through as the endpoint sent it.",
"additionalProperties": true
}