Work with this as data
Every API 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 apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/ansible-roles-roles-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
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.
OpenAPI Specification
openapi: 3.2.0
info:
title: Ansible Galaxy & Collections Ansible Galaxy & Collections Roles API
version: '1'
description: 'The Ansible Galaxy public REST API for discovering and consuming community
Ansible content. The legacy v1 surface covers community roles (search by
keyword, author, tag; download by version), users, namespaces, and import
tracking. The modern v3 surface is the Galaxy NG / Pulp API used by
Ansible collections (the modern packaging format that bundles roles,
modules, plugins, and playbooks).
'
contact:
name: Ansible Galaxy
url: https://galaxy.ansible.com
servers:
- url: https://galaxy.ansible.com
description: Public Ansible Galaxy
security: []
tags:
- name: Roles
description: Legacy v1 community roles API.
paths:
/api/v1/roles/:
get:
tags:
- Roles
summary: Search community roles
operationId: listRoles
parameters:
- name: page
in: query
schema:
type: integer
minimum: 1
default: 1
- name: page_size
in: query
schema:
type: integer
default: 10
- name: owner__username
in: query
description: Filter by GitHub username of the role owner.
schema:
type: string
- name: name
in: query
description: Filter by role name (substring match).
schema:
type: string
- name: keyword
in: query
description: Free-text keyword search.
schema:
type: string
- name: tag
in: query
description: Filter by tag (galaxy_tags).
schema:
type: string
- name: platforms
in: query
description: Filter by supported platform name.
schema:
type: string
- name: namespace
in: query
schema:
type: string
responses:
'200':
$ref: '#/components/responses/PagedList'
/api/v1/roles/{id}/:
get:
tags:
- Roles
summary: Retrieve a role
operationId: getRole
parameters:
- $ref: '#/components/parameters/Id'
responses:
'200':
description: A role.
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
/api/v1/roles/{id}/versions/:
get:
tags:
- Roles
summary: List role versions
operationId: listRoleVersions
parameters:
- $ref: '#/components/parameters/Id'
responses:
'200':
$ref: '#/components/responses/PagedList'
/api/v1/roles/{id}/downloads/:
post:
tags:
- Roles
summary: Increment a role download counter
operationId: addRoleDownload
parameters:
- $ref: '#/components/parameters/Id'
responses:
'202':
description: Download tracked.
components:
schemas:
PagedList:
type: object
properties:
count:
type: integer
next:
type: string
nullable: true
next_link:
type: string
nullable: true
previous:
type: string
nullable: true
previous_link:
type: string
nullable: true
results:
type: array
items:
type: object
additionalProperties: true
Role:
type: object
properties:
id:
type: integer
url:
type: string
name:
type: string
namespace:
type: object
properties:
id:
type: integer
name:
type: string
github_user:
type: string
github_repo:
type: string
github_branch:
type: string
description:
type: string
min_ansible_version:
type: string
license:
type: string
company:
type: string
download_count:
type: integer
stargazers_count:
type: integer
forks_count:
type: integer
summary_fields:
type: object
additionalProperties: true
responses:
PagedList:
description: A paginated list response.
content:
application/json:
schema:
$ref: '#/components/schemas/PagedList'
parameters:
Id:
name: id
in: path
required: true
schema:
type: integer
securitySchemes:
TokenAuth:
type: apiKey
in: header
name: Authorization
description: 'Galaxy / Automation Hub token, sent as `Authorization: Token <value>`.'