gxceed
API Reference

GXceed Paper Search API

Search 5,000+ GX and sustainability papers — no authentication required. Suitable for AI agents, RAG pipelines, and developer integrations.

↓ openapi.jsonResearcher docs →Contact for vector search →
Base URL
GET https://gxceed.com/api/v1/papers/search
  • No API key required
  • CORS: Access-Control-Allow-Origin: *
  • Response cached 60 s at edge
  • OpenAPI 3.1 spec: /openapi.json
Parameters
ParameterTypeRequiredDefaultDescription
qstringYesSearch query. Up to 5 whitespace-separated terms, each ≥ 2 chars. AND-combined across title, abstract, AI summaries, tags, and topic.
topicstringNonullFilter by primary topic slug. See topic list below.
langstringNoall`ja` / `en` / `all` — filter by paper language.
limitintegerNo10Max results to return (1–50).
offsetintegerNo0Pagination offset.
Topic Slugs
esgenergy_transitioncarbon_pricingclimate_financeccushydrogenrenewablepolicycarbon_accountingclimate_sciencedisclosure_infrastructuretransition_financeenergy_efficiencyscope3scope1_2tcfdsbtcdpevgreenwashingclimate_riskbiodiversitysupply_chainai_esgother
Example Request
GET https://gxceed.com/api/v1/papers/search?q=carbon+disclosure+EDINET&limit=3
curl "https://gxceed.com/api/v1/papers/search?q=carbon+pricing&topic=carbon_pricing&lang=en&limit=5"
import urllib.request, json

url = "https://gxceed.com/api/v1/papers/search?q=scope+3+emissions&limit=10"
with urllib.request.urlopen(url) as r:
    data = json.loads(r.read())
for paper in data["results"]:
    print(paper["year"], paper["title_en"] or paper["title"])
Response Schema
{
  "api_version": "v1",
  "query": "carbon disclosure EDINET",
  "topic": null,
  "lang": "all",
  "total": 38,
  "count": 3,
  "limit": 3,
  "offset": 0,
  "results": [
    {
      "id": "abc123",
      "title": "Structured GHG Disclosure Accessibility for Listed Japanese Firms",
      "title_ja": "上場企業の GHG 開示アクセシビリティ構造化",
      "title_en": "Structured GHG Disclosure Accessibility for Listed Japanese Firms",
      "authors": ["Hiroyuki Kokubu"],
      "year": 2026,
      "abstract": "An engineering pilot using EDINET and LLM-assisted report extraction...",
      "url": "https://gxceed.com/papers/abc123",
      "citation_url": "https://doi.org/10.2139/ssrn.xxxx",
      "doi": "10.2139/ssrn.xxxx",
      "source_url": "https://ssrn.com/abstract=xxxx",
      "venue": "SSRN",
      "venue_type": "preprint",
      "topic": "disclosure_infrastructure",
      "tags": ["GHG", "EDINET", "disclosure", "LLM"],
      "lang": "en",
      "updated_at": "2026-05-16T00:00:00.000Z"
    }
  ]
}
FieldTypeNotes
api_versionstringAPI version identifier (currently "v1") — guard against future breaking changes
totalintegerTotal matching papers before limit/offset
countintegerResults returned in this response
results[].idstringGXceed internal paper ID
results[].titlestring | nullOriginal language title
results[].title_jastring | nullJapanese title (AI-translated if needed)
results[].title_enstring | nullEnglish title (AI-translated if needed)
results[].authorsstring[]Author display names
results[].yearinteger | nullPublication year
results[].abstractstring | nullAI summary (EN preferred) or original abstract, capped at 600 chars
results[].urlstringGXceed paper page URL
results[].citation_urlstringBest stable citation link with provenance: DOI link when available, else source URL, else GXceed page
results[].doistring | nullDigital Object Identifier
results[].source_urlstring | nullOriginal source URL (preprint server, journal, etc.)
results[].venuestring | nullPublication venue name
results[].venue_typestring | nullpreprint / journal / conference / dataset / report
results[].topicstring | nullPrimary GX topic classification
results[].tagsstring[]AI-assigned keyword tags
results[].langstring | nullja / en / mul (multilingual)
results[].updated_atstring | nullISO 8601 UTC — when the record was last updated (freshness)
AI Agent Integration

The OpenAPI specification at /openapi.json can be used as a basis for integration with ChatGPT Actions, Gemini function calling, Claude/MCP-compatible tools, and other AI agent frameworks. It provides machine-readable parameter schemas, the operationId searchPapers, and full response types.

Claude / MCP-compatible toolsvia MCP tool wrapper

Claude does not consume OpenAPI directly. The spec serves as the basis for a thin MCP-compatible tool wrapper that exposes the single searchPapers operation. Because the endpoint needs no auth and sends CORS *, the wrapper can call it directly.

# The single operation a thin MCP/tool wrapper exposes:
searchPapers(q, topic?, lang?, limit?, offset?)
  → GET https://gxceed.com/api/v1/papers/search

# Spec: https://gxceed.com/openapi.json  (operationId: searchPapers)
# No auth, CORS *, so the wrapper can call it directly.
async function searchPapers(args) {
  const u = new URL("https://gxceed.com/api/v1/papers/search");
  u.searchParams.set("q", args.q);
  if (args.topic) u.searchParams.set("topic", args.topic);
  if (args.lang)  u.searchParams.set("lang", args.lang);
  if (args.limit) u.searchParams.set("limit", String(args.limit));
  const res = await fetch(u);            // no auth, CORS *
  return await res.json();               // { api_version, total, results[] }
}
Gemini Function Callingvia API function declarations

Register searchPapers as a Gemini function declaration. The parameter schema mirrors the OpenAPI spec; on a function call, your app issues the GET request below.

{
  "tools": [{
    "functionDeclarations": [{
      "name": "searchPapers",
      "description": "Search GX, ESG, and climate disclosure papers indexed by GXceed.",
      "parameters": {
        "type": "object",
        "properties": {
          "q":     { "type": "string",  "description": "Up to 5 AND-combined terms (2-500 chars)" },
          "topic": { "type": "string",  "description": "Optional topic slug" },
          "lang":  { "type": "string",  "enum": ["ja", "en", "all"] },
          "limit": { "type": "integer", "description": "1-50, default 10" }
        },
        "required": ["q"]
      }
    }]
  }]
}
// On a searchPapers(args) call, run:
//   GET https://gxceed.com/api/v1/papers/search?q=...&topic=...&lang=...&limit=...
ChatGPT GPT Actionsvia OpenAPI schema import

In the GPT editor, choose "Add actions" → import from URL → paste https://gxceed.com/openapi.json. No auth required.

LangChain / LlamaIndexvia OpenAPIToolkit or similar

Use any OpenAPI-based tool loader. Point to /openapi.json. The endpoint supports CORS so it can be called directly from any environment.

Corpus
5,000+
Published papers
13
Sources
JA / EN / ZH
Languages
25
Topics
Bilingual
AI summaries
Daily
Update frequency

Sources: arXiv, Jxiv (JST), Zenodo, SSRN, EarthArXiv, J-STAGE, CiNii Research, Research Square, OpenAlex, IEA, Carbon Brief, Nature Energy, ChinaXiv / ChinaRxiv. Relevance scored by DeepSeek AI (threshold ≥ 80/100).

Usage Policy

This API is provided for research, discovery, and citation-support purposes. Bulk harvesting, resale, or abusive automated access is not permitted.

AI-generated summaries and GXceed-authored metadata are provided under CC BY 4.0 unless otherwise stated. Third-party paper metadata, abstracts, DOIs, and source links remain subject to their original publishers' terms. See Terms.

Limits & High-Volume Access

Fair-use guideline: approximately 60 requests per minute per IP. Hard enforcement (429 responses) may be added if abusive traffic is detected. For production RAG pipelines, bulk access, or vector (semantic) search access, contact us.

Contact: [email protected] — include your use case and expected request volume.

openapi.jsonResearcher docsBrowse papersAbout gxceed[email protected]