Apache Struts website screenshot

Apache Struts

Apache Struts is a free, open-source, MVC framework for creating elegant, modern Java web applications. It provides a clean separation between the model, view, and controller layers with a powerful convention-over-configuration approach, interceptor-based AOP support, type-safe configuration, and built-in REST plugin. Apache Struts is maintained by the Apache Software Foundation and is widely used in enterprise Java web development.

Apache Struts publishes 1 API on the APIs.io network: resource API. Tagged areas include Java, MVC, Web Applications, Web Framework, and Open-Source.

Apache Struts’ developer surface includes authentication, documentation, developer portal, getting-started guide, release notes, support, FAQ, and 11 more developer resources.

44.0/100 developing ▬ flat Agent 20/100 agent aware open core · Apache-2.0 Full breakdown ↓
scored 2026-09-08 · rubric v0.20.0
AccessFreemiumSelf serve⚡ Free to try
1 APIs 7 Features 3 Use Cases
JavaMVCWeb ApplicationsWeb FrameworkOpen-Source

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-09-08 · rubric v0.20.0
Open Source Surface applies to this provider. This product is open source and we read its repository directly, so Open Source Surface carries 10 points of the composite. It is scored from what the repository actually publishes — a security policy, a contribution guide, a release history, a code of conduct — read live from the provider rather than inferred from our own catalog pointers. This facet adds; nothing was taken away to make room for it. An open-source project is not excused from the commercial facets, because exemption would strip it of the points it does earn. If we have the wrong repository, or this product is not open source, say so on your provider repo and we will drop the facet rather than have you publish against it.
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it carries 10 points of the composite. It is scored from the published contracts themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in front of it, and the first time that check is skipped a duplicate record is created. Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet, not penalised by it.
The six quality facets above are damped to 80 points between them, because the conditional facet above carries the other 20. That is why each facet's contribution is shown against a damped maximum: raising a quality facet moves the composite by 80% of its nominal weight, not 100%. The full arithmetic is at apis.io/rating/.
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/apache-struts: 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 2

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

Apache Struts REST Plugin

The Struts REST Plugin provides a convention-based REST API framework for building RESTful services. It maps HTTP methods to action methods (GET→index/show, POST→create, PUT→upd...

Apache Struts resource API

Generic RESTful resource exposed by the Struts REST plugin

Open Collections 3

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

API Collection

OPEN COLLECTION

Apache Struts REST Plugin

OPEN COLLECTION

Pricing Plans 1

Published pricing tiers and plan structures.

Rate Limits 1

Documented rate limits and quota policies.

Apache Struts Rate Limits

5 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals for API financial operations.

Features 7

Notable capabilities this provider offers.

Convention-Over-Configuration

Zero-XML configuration with naming conventions for action and result mapping.

Interceptor Framework

AOP-style interceptors for cross-cutting concerns like validation, logging, and security.

Type Conversion

Automatic type conversion between HTTP request parameters and Java types.

OGNL Expression Language

Object-Graph Navigation Language for dynamic data binding and expression evaluation.

Tiles Integration

Template composition via Apache Tiles for reusable page layouts.

REST Plugin

Convention-based REST API support with content type negotiation.

Spring Integration

Native Spring Framework integration for dependency injection.

Scroll for all 7

Security Posture 3

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

Apache Struts Authentication

http · 1 scheme

SECURITY

Apache Struts Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Apache Struts Vulnerability Disclosure

security.txt · contact published

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Apache Struts Agentic Access

7 operations · 3 acting

7 operations · 3 acting

AGENTIC

Use Cases 3

What developers build with this provider.

Enterprise Java Web Applications

Build large-scale Java web applications with clean MVC separation.

RESTful Web Services

Create REST APIs using the Struts REST plugin with JSON/XML content negotiation.

Form-Based Applications

Complex form processing with server-side validation and type conversion.

Integrations 5

Pre-built integrations with other platforms and tools.

Spring Framework

Native Spring IoC container integration for dependency injection.

Hibernate

Hibernate ORM integration for database persistence in action classes.

Apache Tiles

Template composition framework for reusable page layouts and components.

FreeMarker

FreeMarker template engine support as an alternative to JSP views.

Velocity

Apache Velocity template engine for HTML view rendering.

Resources

Get Started 2

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Build 2

SDKs, sample code, and the tooling you integrate with

Access & Security 4

Authentication, authorization, and security posture

Operate 3

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 2

The organization behind the API

Source (apis.yml)

apis.yml Raw ↑
aid: apache-struts
name: Apache Struts
description: Apache Struts is a free, open-source, MVC framework for creating elegant, modern Java web applications. It provides
  a clean separation between the model, view, and controller layers with a powerful convention-over-configuration approach,
  interceptor-based AOP support, type-safe configuration, and built-in REST plugin. Apache Struts is maintained by the Apache
  Software Foundation and is widely used in enterprise Java web development.
type: Index
deliveryModel:
  model: open-core
  license: Apache-2.0
  open_source: true
  commercial: true
  callable_host: false
  label: Open core · an OSS project plus a commercial hosted product
  confidence: high
  source:
  - license
  - openapi
  - pricing
  generated: '2026-08-28'
  method: derived
accessModel:
  pricing: freemium
  onboarding: self-serve
  trial: false
  try_now: true
  public: false
  label: Freemium · Self-serve signup
  confidence: medium
  source:
  - plans
  - authentication
  - security
  generated: '2026-09-03'
  method: derived
position: Consuming
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/apache-struts.png
tags:
- Java
- MVC
- Web Applications
- Web Framework
- Open-Source
tags_raw:
- Java
- MVC
- Web Applications
- Web Framework
- Open Source
created: '2026-03-16'
modified: '2026-04-19'
url: https://raw.githubusercontent.com/api-evangelist/apache-struts/refs/heads/main/apis.yml
specificationVersion: '0.23'
apis:
- aid: apache-struts:apache-struts-rest-plugin
  name: Apache Struts REST Plugin
  description: The Struts REST Plugin provides a convention-based REST API framework for building RESTful services. It maps
    HTTP methods to action methods (GET→index/show, POST→create, PUT→update, DELETE→destroy) and supports multiple content
    type negotiation for JSON, XML, and HTML responses via content type headers and URL extensions.
  humanURL: https://struts.apache.org/plugins/rest/
  tags:
  - REST
  - Java
  - MVC
  - JSON
  - XML
  properties:
  - type: Documentation
    url: https://struts.apache.org/plugins/rest/
  - type: SDKs
    url: https://search.maven.org/search?q=org.apache.struts2
    title: Maven Java SDK
- aid: apache-struts:apache-struts-resource-api
  name: Apache Struts resource API
  description: Generic RESTful resource exposed by the Struts REST plugin
  humanURL: https://struts.apache.org/plugins/rest/
  tags:
  - Resource
  tags_raw:
  - resource
  properties:
  - type: OpenAPI
    url: openapi/apache-struts-resource-api-openapi.yml
common:
- type: Website
  url: https://www.apache.org/
- type: SecurityPolicy
  url: https://github.com/apache/struts/blob/main/SECURITY.md
- type: CodeOfConduct
  url: https://github.com/apache/.github/blob/main/.github/CODE_OF_CONDUCT.md
- type: ContributionGuide
  url: https://github.com/apache/struts/blob/main/CONTRIBUTING.md
- type: License
  name: Apache-2.0
  url: https://github.com/apache/struts/blob/main/LICENSE
- type: AgenticAccess
  url: agentic-access/apache-struts-agentic-access.yml
- type: VulnerabilityDisclosure
  url: security/apache-struts-vulnerability-disclosure.yml
- type: DomainSecurity
  url: security/apache-struts-domain-security.yml
- type: Authentication
  url: authentication/apache-struts-authentication.yml
- type: GitHubRepository
  url: https://github.com/apache/struts
- type: Documentation
  url: https://struts.apache.org/documentation.html
- type: Portal
  url: https://struts.apache.org/
- type: GettingStarted
  url: https://struts.apache.org/getting-started/index.html
- type: ReleaseNotes
  url: https://github.com/apache/struts/releases
- type: Support
  url: https://struts.apache.org/support.html
- type: TermsOfService
  url: https://www.apache.org/licenses/
- type: FAQ
  url: https://struts.apache.org/faq.html
- type: Features
  data:
  - name: Convention-Over-Configuration
    description: Zero-XML configuration with naming conventions for action and result mapping.
  - name: Interceptor Framework
    description: AOP-style interceptors for cross-cutting concerns like validation, logging, and security.
  - name: Type Conversion
    description: Automatic type conversion between HTTP request parameters and Java types.
  - name: OGNL Expression Language
    description: Object-Graph Navigation Language for dynamic data binding and expression evaluation.
  - name: Tiles Integration
    description: Template composition via Apache Tiles for reusable page layouts.
  - name: REST Plugin
    description: Convention-based REST API support with content type negotiation.
  - name: Spring Integration
    description: Native Spring Framework integration for dependency injection.
- type: UseCases
  data:
  - name: Enterprise Java Web Applications
    description: Build large-scale Java web applications with clean MVC separation.
  - name: RESTful Web Services
    description: Create REST APIs using the Struts REST plugin with JSON/XML content negotiation.
  - name: Form-Based Applications
    description: Complex form processing with server-side validation and type conversion.
- type: Integrations
  data:
  - name: Spring Framework
    description: Native Spring IoC container integration for dependency injection.
  - name: Hibernate
    description: Hibernate ORM integration for database persistence in action classes.
  - name: Apache Tiles
    description: Template composition framework for reusable page layouts and components.
  - name: FreeMarker
    description: FreeMarker template engine support as an alternative to JSP views.
  - name: Velocity
    description: Apache Velocity template engine for HTML view rendering.
- type: Blog
  url: https://struts.apache.org/announce.html
maintainers:
- FN: Kin Lane
  email: info@apievangelist.com

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/apache-struts"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/apache-struts/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/apache-struts/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.