{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://rapidapi.com/schemas/rapidapi/api-listing.json", "title": "RapidAPI API Listing", "description": "Schema representing an API listing on the RapidAPI platform, including metadata, versioning, endpoint definitions, and pricing plans.", "type": "object", "required": ["name", "description", "category"], "properties": { "id": { "type": "string", "description": "Unique identifier for the API listing on the platform" }, "name": { "type": "string", "description": "Display name of the API as shown on the marketplace", "minLength": 1, "maxLength": 200 }, "slug": { "type": "string", "description": "URL-friendly slug used in the API's marketplace URL", "pattern": "^[a-z0-9-]+$" }, "description": { "type": "string", "description": "Short description of the API displayed on the endpoints tab", "maxLength": 500 }, "longDescription": { "type": "string", "description": "Detailed description with use cases and documentation, displayed on the about tab" }, "category": { "type": "string", "description": "The category the API is listed under for organization and discovery" }, "tags": { "type": "array", "items": { "type": "string" }, "description": "Custom tags applied to the API for filtering and search" }, "websiteUrl": { "type": "string", "format": "uri", "description": "URL to the website providing the API, shown on the about tab" }, "imageUrl": { "type": "string", "format": "uri", "description": "URL to the API icon image, recommended 500x500 px in PNG or JPG format" }, "status": { "type": "string", "enum": ["active", "inactive", "deprecated"], "description": "Current publication status of the API listing" }, "isVerified": { "type": "boolean", "description": "Whether the API provider has been verified by RapidAPI" }, "provider": { "$ref": "#/$defs/Provider", "description": "Information about the organization or user providing the API" }, "versions": { "type": "array", "items": { "$ref": "#/$defs/ApiVersion" }, "description": "Available versions of the API" }, "endpoints": { "type": "array", "items": { "$ref": "#/$defs/ApiEndpoint" }, "description": "Endpoint definitions for the current active version" }, "plans": { "type": "array", "items": { "$ref": "#/$defs/PricingPlan" }, "description": "Subscription pricing plans available for this API" }, "averageRating": { "type": "number", "format": "float", "minimum": 0, "maximum": 5, "description": "Average user rating on a scale of 0 to 5" }, "totalRatings": { "type": "integer", "minimum": 0, "description": "Total number of user ratings" }, "createdAt": { "type": "string", "format": "date-time", "description": "Timestamp when the API listing was first created" }, "updatedAt": { "type": "string", "format": "date-time", "description": "Timestamp when the API listing was last modified" } }, "$defs": { "Provider": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the API provider" }, "name": { "type": "string", "description": "Display name of the API provider" }, "organizationId": { "type": "string", "description": "Organization the provider belongs to, if applicable" }, "isVerified": { "type": "boolean", "description": "Whether the provider has been verified" } }, "description": "Information about an API provider on the platform" }, "ApiVersion": { "type": "object", "required": ["name"], "properties": { "id": { "type": "string", "description": "Unique identifier for the version" }, "name": { "type": "string", "description": "Version name or label" }, "status": { "type": "string", "enum": ["active", "deprecated", "draft"], "description": "Current status of the version" }, "createdAt": { "type": "string", "format": "date-time", "description": "Timestamp when the version was created" } }, "description": "A version of an API listing" }, "ApiEndpoint": { "type": "object", "required": ["name", "method", "path"], "properties": { "id": { "type": "string", "description": "Unique identifier for the endpoint" }, "name": { "type": "string", "description": "Display name of the endpoint" }, "method": { "type": "string", "enum": ["GET", "POST", "PUT", "PATCH", "DELETE"], "description": "HTTP method for the endpoint" }, "path": { "type": "string", "description": "URL path for the endpoint" }, "group": { "type": "string", "description": "Endpoint group for organizational purposes" }, "description": { "type": "string", "description": "Description of what the endpoint does" }, "parameters": { "type": "array", "items": { "$ref": "#/$defs/EndpointParameter" }, "description": "Parameters accepted by this endpoint" } }, "description": "An individual endpoint within an API" }, "EndpointParameter": { "type": "object", "required": ["name", "location"], "properties": { "name": { "type": "string", "description": "Parameter name" }, "type": { "type": "string", "description": "Data type of the parameter" }, "required": { "type": "boolean", "description": "Whether the parameter is required" }, "description": { "type": "string", "description": "Description of the parameter" }, "defaultValue": { "type": "string", "description": "Default value if not provided" }, "location": { "type": "string", "enum": ["query", "path", "header", "body"], "description": "Where the parameter is sent in the request" } }, "description": "A parameter accepted by an API endpoint" }, "PricingPlan": { "type": "object", "required": ["name"], "properties": { "id": { "type": "string", "description": "Unique identifier for the plan" }, "name": { "type": "string", "description": "Plan name such as Basic, Pro, or Ultra" }, "price": { "type": "number", "format": "double", "minimum": 0, "description": "Monthly price in USD, 0 for free tier" }, "rateLimit": { "type": "integer", "minimum": 0, "description": "Maximum number of requests allowed per month" }, "quotaType": { "type": "string", "enum": ["hard", "soft"], "description": "Whether exceeding the limit blocks requests or incurs overage charges" }, "features": { "type": "array", "items": { "type": "string" }, "description": "Features included in this plan" } }, "description": "A subscription pricing plan for an API" } } }