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

Rate limit: approximately 60 requests per minute per IP. Requests exceeding this limit may receive a 429 response; back off and retry after a short delay. 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]