Virtualmin website screenshot

Virtualmin

Virtualmin is an open-source web hosting control panel for Linux and BSD, built on top of Webmin, that lets administrators and resellers manage websites, virtual servers, DNS, email, FTP, databases, SSL certificates, WordPress and more from a single interface. Distributed as a community GPL edition and a commercial Pro edition, Virtualmin (with its sibling Cloudmin for VM/cloud management) has run for 20+ years and manages over a million domains across 200K+ active users. For automation it exposes a command-line API and an HTTP-based Remote API served from Webmin's remote.cgi on port 10000, covering ~200 documented programs for creating and modifying virtual servers, users, aliases, databases, resellers, plans, templates, SSL certs, backups and cloud storage, with plain-text, JSON, XML or Perl output.

Virtualmin publishes 1 API on the APIs.io network. Tagged areas include Company, Web Hosting, Control Panel, Server Management, and Webmin.

Virtualmin’s developer surface includes documentation, API reference, getting-started guide, support, pricing, authentication, CLI, and 15 more developer resources.

27.9/100 thin ▬ flat Agent 3/100 human only saas Full breakdown ↓
scored 2026-09-08 · rubric v0.20.0
1 APIs
CompanyWeb HostingControl PanelServer ManagementWebminDNSEmailDomainsVirtual ServersDatabasesSSLWordPressOpen-SourceLinux

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-09-08 · rubric v0.20.0
Create-or-Update Ergonomics could not be measured. We hold no machine-readable contract for this provider to read, so there is nothing to measure a write surface against. Excluded rather than scored zero: never-measured and measured-empty are different facts. Publishing an OpenAPI is what makes this facet — and several others — scorable at all.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/virtualmin: open an issue to ask a question, or submit a pull request to add artifacts. Submit an artifact on GitHub — free → Manage your own listing — the Influence plan, $499/mo →

APIs 1

Individual APIs this provider publishes, each with its own machine-readable definition.

Virtualmin Remote API

HTTP-based Remote API served from Webmin's remote.cgi on port 10000. Each call passes a `program` parameter naming one of ~200 command-line programs (create-domain, list-domains...

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Virtualmin Authentication

http · 1 scheme

SECURITY

Resources

Get Started 3

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 2

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 2

Pagination, idempotency, versioning, errors, and events

Build 3

SDKs, sample code, and the tooling you integrate with

Access & Security 2

Authentication, authorization, and security posture

Operate 3

Status, limits, changes, and where to get help

Commercial 3

Pricing, plans, and the legal terms of use

Company 1

The organization behind the API

Other 1

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: virtualmin
name: Virtualmin
description: Virtualmin is an open-source web hosting control panel for Linux and BSD, built on top of Webmin, that lets administrators
  and resellers manage websites, virtual servers, DNS, email, FTP, databases, SSL certificates, WordPress and more from a
  single interface. Distributed as a community GPL edition and a commercial Pro edition, Virtualmin (with its sibling Cloudmin
  for VM/cloud management) has run for 20+ years and manages over a million domains across 200K+ active users. For automation
  it exposes a command-line API and an HTTP-based Remote API served from Webmin's remote.cgi on port 10000, covering ~200
  documented programs for creating and modifying virtual servers, users, aliases, databases, resellers, plans, templates,
  SSL certs, backups and cloud storage, with plain-text, JSON, XML or Perl output.
url: https://raw.githubusercontent.com/api-evangelist/virtualmin/refs/heads/main/apis.yml
x-type: company
x-source: vc-portfolio
x-backed-by:
- y-combinator
x-tier: stub
x-tier-reason: portfolio-lead
deliveryModel:
  model: saas
  open_source: false
  commercial: true
  callable_host: false
  label: Hosted service · you call their endpoint
  confidence: medium
  source:
  - pricing
  generated: '2026-08-28'
  method: derived
accessModel:
  pricing: unknown
  onboarding: unknown
  trial: false
  try_now: false
  public: false
  label: Unknown
  confidence: low
  source:
  - authentication
  - security
  generated: '2026-09-03'
  method: derived
specificationVersion: '0.23'
created: '2026-07-17'
modified: '2026-07-21'
tags:
- Company
- Web Hosting
- Control Panel
- Server Management
- Webmin
- DNS
- Email
- Domains
- Virtual Servers
- Databases
- SSL
- WordPress
- Open-Source
- Linux
tags_raw:
- Company
- Web Hosting
- Control Panel
- Server Management
- Webmin
- DNS
- Email
- Domains
- Virtual Servers
- Databases
- SSL
- WordPress
- Open Source
- Linux
image: https://www.virtualmin.com/apple-touch-icon.png
apis:
- name: Virtualmin Remote API
  description: HTTP-based Remote API served from Webmin's remote.cgi on port 10000. Each call passes a `program` parameter
    naming one of ~200 command-line programs (create-domain, list-domains, create-user, create-alias, create-database, generate-letsencrypt-cert,
    backup-domain, etc.) plus that program's parameters as CGI query/POST params. Authentication is HTTP Basic as the Webmin
    master administrator. Output is plain text with an exit-status line, or JSON (json=1), XML (xml=1) or Perl (perl=1); list-*
    programs accept multiline for detailed output. The API is self-hosted per Virtualmin installation.
  humanURL: https://www.virtualmin.com/docs/development/remote-api/
  baseURL: https://yourserver:10000/virtual-server/remote.cgi
  tags:
  - Web Hosting
  - Server Management
  - Automation
  properties:
  - type: Documentation
    url: https://www.virtualmin.com/docs/development/remote-api/
  - type: APIReference
    url: https://www.virtualmin.com/docs/development/api-programs/
common:
- type: Website
  url: https://www.virtualmin.com/
- type: DeveloperPortal
  url: https://www.virtualmin.com/docs/development/
- type: Documentation
  url: https://www.virtualmin.com/docs/
- type: APIReference
  url: https://www.virtualmin.com/docs/development/remote-api/
- type: GettingStarted
  url: https://www.virtualmin.com/docs/getting-started/
- type: Support
  url: https://www.virtualmin.com/support/
- type: Community
  url: https://forum.virtualmin.com/
- type: GitHubOrganization
  url: https://github.com/virtualmin
- type: Download
  url: https://www.virtualmin.com/download/
- type: Pricing
  url: https://www.virtualmin.com/shop/
- type: Login
  url: https://www.virtualmin.com/account/signin/
- type: TermsOfService
  url: https://www.virtualmin.com/terms/
- type: PrivacyPolicy
  url: https://www.virtualmin.com/privacy/
- type: Authentication
  url: authentication/virtualmin-authentication.yml
- type: Conventions
  url: conventions/virtualmin-conventions.yml
- type: CLI
  url: cli/virtualmin-cli.yml
- type: Packages
  url: packages/virtualmin-packages.yml
- type: X-MCPServerCandidate
  url: mcp/virtualmin-mcp.yml
  note: 'Renamed from MCPServer 2026-09-03 (roadmap#247): the manifest self-describes as status: candidate — a tool list derived
    from the published API contracts, not an existing server. The scorer already read the manifest and reported mcp_server
    correctly; the MCPServer type was crediting the artifact-type surfaces with a server that does not exist.'
- type: LLMsTxt
  url: llms/virtualmin-llms.txt
- type: Lifecycle
  url: lifecycle/virtualmin-lifecycle.yml
- type: ChangeLog
  url: changelog/virtualmin-changelog.yml
- type: DomainSecurity
  url: security/virtualmin-domain-security.yml
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
- FN: APIs.json
  email: info@apis.io
x-enrichment:
  date: '2026-07-21'
  status: enriched
  artifacts_added: 10
  pass: local-v1

Work with this as data

Every provider here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This provider
curl "https://apis.io/api/v1/providers/virtualmin"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/virtualmin/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/virtualmin/evidence"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.