Skip to content

[help]: Is there an official / built-in HTTP API for external services to query GraphRAG? #2317

@MonkeyKiller2330

Description

@MonkeyKiller2330

Do you need to file an issue?

  • I have searched the existing issues and this feature is not already filed.
  • My model is hosted on OpenAI or Azure. If not, please look at the "model providers" issue and don't file a new one here.
  • I believe this is a legitimate feature request, not just a question. If this is a question, please use the Discussions area.

Is your feature request related to a problem? Please describe.

I'm currently integrating GraphRAG (version 3.0.8) into my project. My application is written in C#, and I need to allow external services to query the knowledge graph via HTTP requests (RESTful API).

I noticed that GraphRAG provides a CLI (graphrag query) and a Python API (graphrag.api.query), but I couldn't find an official, ready-to-use HTTP server that can be deployed as a web service.

My questions are:

Does GraphRAG have an official built-in HTTP API that can be directly used for external calls (e.g., via localhost:8000/query)?

If not, is there any recommended approach or reference implementation to wrap the Python API into a web service (e.g., FastAPI) that stays compatible with future GraphRAG updates?

Are there any official examples or guidelines for deploying GraphRAG as a microservice?

I have successfully run indexing and local/global queries using the CLI (graphrag index and graphrag query).

I reviewed the official documentation (https://microsoft.github.io/graphrag/) but didn't find any section about deploying an HTTP API.

I searched the repository issues and discussions – only found community projects like graphrag-server or GraphRAG-Local-UI, but they seem outdated and not officially maintained.

My main application is in C# (.NET).

I want to send queries (e.g., "List all types of anemia") from my C# backend to GraphRAG via HTTP and receive the response in JSON.

I prefer an official, stable solution that can be easily deployed (e.g., Docker) and will be maintained along with GraphRAG releases.

GraphRAG version: 3.0.8

I am using SiliconFlow API as the LLM/embedding backend (but this is likely irrelevant to the question).

If there is no official HTTP API, I would appreciate any guidance on the recommended way to build a custom wrapper without breaking future upgrades.

Thank you for your great work on GraphRAG!

Describe the solution you'd like

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions