Skip to main content
ClaudeWave
ekvanauk avatar
ekvanauk

rentrollapi-dotnet

View on GitHub

Official .NET SDK for RentRollAPI - rent roll extraction with built-in verification

MCP ServersOfficial Registry0 stars0 forksC#MITUpdated today
Install in Claude Code / Claude Desktop
Method: Manual
Claude Code CLI
git clone https://github.com/ekvanauk/rentrollapi-dotnet
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Clone https://github.com/ekvanauk/rentrollapi-dotnet and follow its README for install instructions.
Use cases

MCP Servers overview

# RentRollAPI.Client

[![NuGet](https://img.shields.io/nuget/v/RentRollAPI.Client.svg)](https://www.nuget.org/packages/RentRollAPI.Client)

Official .NET client for [RentRollAPI](https://rentrollapi.com) — convert commercial real estate rent rolls (PDF, Excel, CSV, scans) into structured, **verified** data with one call.

Every extraction includes a deterministic verification report: totals recomputed from extracted units are reconciled against the totals stated on the document, unit counts are cross-checked, and any uncertain field is flagged with a confidence score — never silently guessed.

## Install

```
dotnet add package RentRollAPI.Client
```

## Quick start

```csharp
using RentRollApi.Client;

using var client = new RentRollClient("rr_live_your_key");

var result = await client.ExtractAsync("rent-roll.pdf");

Console.WriteLine($"{result.PropertyName?.Value}: {result.Units.Count} units");
Console.WriteLine($"Confidence: {result.Verification.DocumentConfidence:P0}, all checks passed: {result.Verification.AllChecksPassed}");

foreach (var unit in result.Units)
    Console.WriteLine($"  {unit.UnitNumber?.Value,-8} {unit.TenantName?.Value,-24} {unit.MonthlyRent?.Value,10:C}");

foreach (var check in result.Verification.Checks)
    Console.WriteLine($"  [{check.Result}] {check.Name}: {check.Detail}");
```

### Excel / CSV output

```csharp
byte[] xlsx = await client.ExtractToXlsxAsync(fileStream, "rent-roll.pdf");
string csv  = await client.ExtractToCsvAsync(fileStream, "rent-roll.pdf");
```

### T12 / operating statements

```csharp
var t12 = await client.ExtractOperatingStatementAsync("t12.pdf");

Console.WriteLine($"{t12.PropertyName?.Value} — {t12.Months.Count} months, {t12.LineItems.Count} line items");
foreach (var item in t12.LineItems)
    Console.WriteLine($"  [{item.Kind,-8}] {item.Label?.Value,-30} {item.Total?.Value,12:C} ({item.Category})");

// Deterministic checks: row totals vs monthly values, EGI, Total OpEx, and NOI reconciliation.
Console.WriteLine($"All checks passed: {t12.Verification.AllChecksPassed}");
```

`ExtractOperatingStatementToXlsxAsync` / `ExtractOperatingStatementToCsvAsync` return file output, mirroring the rent-roll methods.

### With IHttpClientFactory

```csharp
services.AddHttpClient("rentroll", c => c.Timeout = TimeSpan.FromMinutes(5));
// ...
var client = new RentRollClient(httpClientFactory.CreateClient("rentroll"), apiKey);
```

### Error handling

```csharp
try
{
    var result = await client.ExtractAsync("statement.pdf");
}
catch (RentRollApiException ex) when (ex.StatusCode == HttpStatusCode.UnprocessableEntity)
{
    // 422: corrupt, password-protected, or not a supported document
    Console.WriteLine(ex.Message);
}
catch (RentRollApiException ex) when ((int)ex.StatusCode == 429)
{
    // Monthly quota exceeded and no prepaid credits remain
}
```

## MCP server (AI assistants)

RentRollAPI also runs a hosted [Model Context Protocol](https://modelcontextprotocol.io) server — no install required. Point any MCP-capable client (Claude, Cursor, VS Code Copilot, ...) at the streamable-HTTP endpoint and it gains an `extract_rent_roll` tool:

```json
{
  "mcpServers": {
    "rentrollapi": {
      "type": "http",
      "url": "https://rentrollapi.com/mcp",
      "headers": { "X-Api-Key": "rr_live_your_key" }
    }
  }
}
```

Omit the header to use the free 3-docs/day demo allowance.

## Getting an API key

Plans start at $49/month (50 documents) with a free 3-docs/day demo at [rentrollapi.com/app](https://rentrollapi.com/app/) — no signup needed to try it.

- [API documentation](https://rentrollapi.com/docs.html)
- [Accuracy benchmark & methodology](https://rentrollapi.com/accuracy.html)

Documents are processed in memory and never retained.
api-clientcommercial-real-estatedotnetnugetproptechreal-estaterent-rollsdk

What people ask about rentrollapi-dotnet

What is ekvanauk/rentrollapi-dotnet?

+

ekvanauk/rentrollapi-dotnet is mcp servers for the Claude AI ecosystem. Official .NET SDK for RentRollAPI - rent roll extraction with built-in verification It has 0 GitHub stars and was last updated today.

How do I install rentrollapi-dotnet?

+

You can install rentrollapi-dotnet by cloning the repository (https://github.com/ekvanauk/rentrollapi-dotnet) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is ekvanauk/rentrollapi-dotnet safe to use?

+

ekvanauk/rentrollapi-dotnet has not been audited yet by our security agent. Review the original repository on GitHub before using it in production.

Who maintains ekvanauk/rentrollapi-dotnet?

+

ekvanauk/rentrollapi-dotnet is maintained by ekvanauk. The last recorded GitHub activity is from today, with 0 open issues.

Are there alternatives to rentrollapi-dotnet?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy rentrollapi-dotnet to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: ekvanauk/rentrollapi-dotnet
[![Featured on ClaudeWave](https://claudewave.com/api/badge/ekvanauk-rentrollapi-dotnet)](https://claudewave.com/repo/ekvanauk-rentrollapi-dotnet)
<a href="https://claudewave.com/repo/ekvanauk-rentrollapi-dotnet"><img src="https://claudewave.com/api/badge/ekvanauk-rentrollapi-dotnet" alt="Featured on ClaudeWave: ekvanauk/rentrollapi-dotnet" width="320" height="64" /></a>

More MCP Servers

rentrollapi-dotnet alternatives