brycewang-stanford/auto-empirical-research-skills/base-academic-search

Claude Code and agent skill by brycewang-stanford/auto-empirical-research-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Search 400M+ open access documents via the BASE search engine API

Install

npx vskill@latest install brycewang-stanford/auto-empirical-research-skills/base-academic-search

SKILL.md

The same SKILL.md was published earlier as wentorai/research-plugins/base-academic-search.

BASE (Bielefeld Academic Search Engine) API

Overview

BASE is one of the world's largest search engines for academic open access web resources. Operated by Bielefeld University Library, it indexes 400M+ documents from 11,000+ content providers including institutional repositories, preprint servers, and digital libraries. Unlike Google Scholar, BASE provides structured metadata, license information, and full-text links. The API is free with registration.

API Endpoints

Base URL
https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi
Search
bash
# Basic keyword search (JSON response)
curl "https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi?\
func=PerformSearch&query=climate+change+adaptation&format=json&hits=20"
# Search with field filters
curl "https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi?\
func=PerformSearch&query=dctitle:transformer+AND+dcsubject:NLP&format=json"
# Filter by document type and year
curl "https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi?\
func=PerformSearch&query=deep+learning&dctypenorm=121&dcyear:2024&format=json"
# Open access only
curl "https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi?\
func=PerformSearch&query=CRISPR&dcrights:open&format=json"
Search Fields
FieldDescriptionExample
dctitleTitledctitle:attention+mechanism
dccreatorAuthordccreator:vaswani
dcsubjectSubject/keywordsdcsubject:machine+learning
dcdescriptionAbstractdcdescription:neural+network
dcyearPublication yeardcyear:2024
dctypeDocument type textdctype:article
dctypenormNormalized type code121 (journal article)
dcrightsAccess rightsdcrights:open
dclangLanguagedclang:eng
dclinkSource URLdclink:arxiv.org
dcoaOpen access statusdcoa:1 (OA), dcoa:2 (restricted)
dcproviderContent providerdcprovider:arxiv.org
Document Type Codes
CodeType
121Journal article
122Book / monograph
14Conference paper
15Thesis / dissertation
17Report
18Preprint
Query Parameters
ParameterDescriptionDefault
funcMust be PerformSearchRequired
querySearch query with optional field prefixesRequired
formatResponse format: json or xmlxml
hitsResults per page (max 125)10
offsetPagination offset0
sortbySort: dcyear desc, score descrelevance

Response Structure

json
{
"response": {
"numFound": 45200,
"start": 0,
"docs": [
{
"dctitle": "Attention Is All You Need",
"dccreator": ["Ashish Vaswani", "Noam Shazeer"],
"dcyear": "2017",
"dcsubject": ["machine learning", "attention mechanism"],
"dcdescription": "The dominant sequence transduction models...",
"dcidentifier": "https://arxiv.org/abs/1706.03762",
"dcsource": "arXiv.org",
"dcprovider": "arxiv.org",
"dcdocid": "abc123xyz",
"dcoa": 1,
"dctypenorm": ["18"],
"dclang": ["eng"]
}
]
}
}

Python Usage

python
import requests
BASE_URL = "https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi"
def search_base(query: str, hits: int = 20,
doc_type: int = None, oa_only: bool = False) -> list:
"""Search BASE for academic open access documents."""
q = query
if doc_type:
q += f" AND dctypenorm:{doc_type}"
if oa_only:
q += " AND dcoa:1"
params = {
"func": "PerformSearch",
"query": q,
"format": "json",
"hits": hits,
"sortby": "dcyear desc",
}
resp = requests.get(BASE_URL, params=params)
resp.raise_for_status()
data = resp.json()
results = []
for doc in data.get("response", {}).get("docs", []):
results.append({
"title": doc.get("dctitle"),
"authors": doc.get("dccreator", []),
"year": doc.get("dcyear"),
"source": doc.get("dcsource"),
"url": doc.get("dcidentifier"),
"abstract": (doc.get("dcdescription") or "")[:300],
"open_access": doc.get("dcoa") == 1,
"type": doc.get("dctypenorm", []),
})
return results
def search_dissertations(topic: str, lang: str = "eng") -> list:
"""Find dissertations and theses on a topic."""
query = f"{topic} AND dctypenorm:15 AND dclang:{lang}"
return search_base(query, hits=50)
def search_by_provider(query: str, provider: str) -> list:
"""Search within a specific content provider."""
full_query = f"{query} AND dcprovider:{provider}"
return search_base(full_query)
# Example: find recent open access ML papers
papers = search_base("transformer self-attention", hits=10, oa_only=True)
for p in papers:
oa = "OA" if p["open_access"] else "restricted"
print(f"[{p['year']}] {p['title']} ({oa}) — {p['source']}")
# Example: find dissertations on climate modeling
theses = search_dissertations("climate modeling ocean")
for t in theses:
print(f"[{t['year']}] {t['title']} — {', '.join(t['authors'][:2])}")

BASE vs Other Search Engines

FeatureBASEGoogle ScholarOpenAlex
Records400M+Unknown250M+
Open access focusYesNoYes
Structured APIYesNo official APIYes
License metadataYesNoPartial
Dissertation coverageExcellentGoodLimited
Repository-level filteringYesNoNo

References

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
4,455
Repository forks
532
7-day trend score
42

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/brycewang-stanford/auto-empirical-research-skills/base-academic-search/badge)](https://verified-skill.com/skills/brycewang-stanford/auto-empirical-research-skills/base-academic-search)

Something wrong with this skill or its page? Tell us.