RapidAPI Hub API

The RapidAPI Hub is the world's largest API marketplace, enabling developers to discover, test, and connect to thousands of APIs using a single API key. The hub provides a unified interface for browsing APIs across categories such as weather, social media, e-commerce, and finance, with auto-generated code snippets in multiple programming languages and a single dashboard for managing subscriptions and usage analytics.

OpenAPI Specification

rapidapi-hub-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: RapidAPI Hub API
  description: >-
    The RapidAPI Hub API enables developers to discover, search, test, and
    connect to thousands of APIs through the world's largest API marketplace.
    Using a single API key, developers can browse APIs across categories such
    as weather, social media, e-commerce, and finance, test endpoints directly,
    view auto-generated code snippets in multiple programming languages, and
    manage subscriptions and usage analytics from a single dashboard.
  version: '1.0'
  contact:
    name: RapidAPI Support
    url: https://docs.rapidapi.com
  termsOfService: https://rapidapi.com/terms
externalDocs:
  description: RapidAPI Hub Consumer Quick Start Guide
  url: https://docs.rapidapi.com/docs/consumer-quick-start-guide
servers:
  - url: https://rapidapi.com
    description: Production Server
tags:
  - name: Categories
    description: >-
      Endpoints for browsing API categories available on the marketplace,
      including Data, Sports, Finance, Travel, and Entertainment.
  - name: Collections
    description: >-
      Endpoints for browsing curated API collections organized around themes
      such as Top Meme APIs, Top Geocoding APIs, and other groupings.
  - name: Search
    description: >-
      Endpoints for searching and discovering APIs by keyword, category,
      collection, or advanced filters across the RapidAPI marketplace.
  - name: Snippets
    description: >-
      Endpoints for generating code snippets for API calls in multiple
      programming languages and libraries.
  - name: Subscriptions
    description: >-
      Endpoints for managing API subscriptions, including subscribing to API
      plans, viewing active subscriptions, and usage analytics.
security:
  - rapidApiKey: []
paths:
  /search/apis:
    get:
      operationId: searchApis
      summary: Search APIs
      description: >-
        Searches the RapidAPI marketplace for APIs matching the provided query
        string. Supports filtering by category, collection, API type, and
        verification status. Returns paginated results with API summaries.
      tags:
        - Search
      parameters:
        - name: query
          in: query
          required: true
          description: Search query string to match against API names and descriptions
          schema:
            type: string
            minLength: 1
        - name: category
          in: query
          required: false
          description: Filter results by category slug
          schema:
            type: string
        - name: collection
          in: query
          required: false
          description: Filter results by collection identifier
          schema:
            type: string
        - name: type
          in: query
          required: false
          description: Filter by API type
          schema:
            type: string
            enum:
              - rest
              - graphql
              - kafka
        - name: verified
          in: query
          required: false
          description: Filter to only show verified APIs
          schema:
            type: boolean
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: Search results with matching APIs
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/ApiSummary'
                  totalCount:
                    type: integer
                    description: Total number of matching APIs
        '400':
          description: Bad request - invalid search parameters
        '401':
          description: Unauthorized - invalid or missing API key
  /categories:
    get:
      operationId: listHubCategories
      summary: List marketplace categories
      description: >-
        Retrieves all API categories available on the RapidAPI marketplace,
        including category names, slugs, and the number of APIs in each.
      tags:
        - Categories
      responses:
        '200':
          description: A list of marketplace categories
          content:
            application/json:
              schema:
                type: object
                properties:
                  categories:
                    type: array
                    items:
                      $ref: '#/components/schemas/HubCategory'
        '401':
          description: Unauthorized - invalid or missing API key
  /categories/{categorySlug}/apis:
    get:
      operationId: listApisByCategory
      summary: List APIs in a category
      description: >-
        Retrieves all APIs within a specific category on the RapidAPI
        marketplace, sorted by popularity or relevance.
      tags:
        - Categories
      parameters:
        - name: categorySlug
          in: path
          required: true
          description: The URL-friendly slug of the category
          schema:
            type: string
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: APIs in the specified category
          content:
            application/json:
              schema:
                type: object
                properties:
                  apis:
                    type: array
                    items:
                      $ref: '#/components/schemas/ApiSummary'
                  totalCount:
                    type: integer
                    description: Total number of APIs in this category
        '401':
          description: Unauthorized - invalid or missing API key
        '404':
          description: Category not found
  /collections:
    get:
      operationId: listHubCollections
      summary: List curated collections
      description: >-
        Retrieves all curated API collections on the RapidAPI marketplace.
        Collections group APIs with similar characteristics or themes.
      tags:
        - Collections
      parameters:
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: A list of curated collections
          content:
            application/json:
              schema:
                type: object
                properties:
                  collections:
                    type: array
                    items:
                      $ref: '#/components/schemas/HubCollection'
        '401':
          description: Unauthorized - invalid or missing API key
  /collections/{collectionId}/apis:
    get:
      operationId: listApisInCollection
      summary: List APIs in a collection
      description: >-
        Retrieves all APIs within a specific curated collection on the RapidAPI
        marketplace.
      tags:
        - Collections
      parameters:
        - name: collectionId
          in: path
          required: true
          description: The unique identifier of the collection
          schema:
            type: string
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: APIs in the specified collection
          content:
            application/json:
              schema:
                type: object
                properties:
                  apis:
                    type: array
                    items:
                      $ref: '#/components/schemas/ApiSummary'
                  totalCount:
                    type: integer
                    description: Total number of APIs in this collection
        '401':
          description: Unauthorized - invalid or missing API key
        '404':
          description: Collection not found
  /apis/{apiSlug}:
    get:
      operationId: getApiDetails
      summary: Get API details
      description: >-
        Retrieves detailed information about a specific API on the marketplace,
        including its description, endpoints, pricing plans, ratings, and
        provider information.
      tags: []
      parameters:
        - name: apiSlug
          in: path
          required: true
          description: The URL-friendly slug or identifier of the API
          schema:
            type: string
      responses:
        '200':
          description: Detailed API information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiDetails'
        '401':
          description: Unauthorized - invalid or missing API key
        '404':
          description: API not found
  /apis/{apiSlug}/endpoints:
    get:
      operationId: listApiEndpoints
      summary: List API endpoints
      description: >-
        Retrieves the list of available endpoints for a specific API, including
        HTTP methods, paths, parameters, and response schemas.
      tags: []
      parameters:
        - name: apiSlug
          in: path
          required: true
          description: The URL-friendly slug or identifier of the API
          schema:
            type: string
      responses:
        '200':
          description: List of API endpoints
          content:
            application/json:
              schema:
                type: object
                properties:
                  endpoints:
                    type: array
                    items:
                      $ref: '#/components/schemas/ApiEndpoint'
        '401':
          description: Unauthorized - invalid or missing API key
        '404':
          description: API not found
  /subscriptions:
    get:
      operationId: listMySubscriptions
      summary: List my subscriptions
      description: >-
        Retrieves the authenticated user's active API subscriptions, including
        plan details and usage statistics.
      tags:
        - Subscriptions
      responses:
        '200':
          description: List of active subscriptions
          content:
            application/json:
              schema:
                type: object
                properties:
                  subscriptions:
                    type: array
                    items:
                      $ref: '#/components/schemas/HubSubscription'
        '401':
          description: Unauthorized - invalid or missing API key
  /apis/{apiSlug}/subscribe:
    post:
      operationId: subscribeToApi
      summary: Subscribe to an API
      description: >-
        Subscribes the authenticated user to a specific API plan on the
        marketplace. After subscribing, the user can make API calls using
        their RapidAPI key.
      tags:
        - Subscriptions
      parameters:
        - name: apiSlug
          in: path
          required: true
          description: The URL-friendly slug or identifier of the API
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - planId
              properties:
                planId:
                  type: string
                  description: The identifier of the pricing plan to subscribe to
      responses:
        '201':
          description: Subscription created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HubSubscription'
        '400':
          description: Bad request - invalid plan or already subscribed
        '401':
          description: Unauthorized - invalid or missing API key
        '404':
          description: API or plan not found
  /apis/{apiSlug}/snippets:
    get:
      operationId: getCodeSnippets
      summary: Get code snippets
      description: >-
        Generates code snippets for calling a specific API endpoint in various
        programming languages and libraries, including JavaScript, Python,
        PHP, Ruby, Java, and more.
      tags:
        - Snippets
      parameters:
        - name: apiSlug
          in: path
          required: true
          description: The URL-friendly slug or identifier of the API
          schema:
            type: string
        - name: endpointId
          in: query
          required: true
          description: The identifier of the specific endpoint
          schema:
            type: string
        - name: language
          in: query
          required: false
          description: The programming language for the code snippet
          schema:
            type: string
            enum:
              - javascript
              - python
              - php
              - ruby
              - java
              - csharp
              - go
              - swift
              - kotlin
              - shell
      responses:
        '200':
          description: Code snippets for the requested endpoint
          content:
            application/json:
              schema:
                type: object
                properties:
                  snippets:
                    type: array
                    items:
                      $ref: '#/components/schemas/CodeSnippet'
        '401':
          description: Unauthorized - invalid or missing API key
        '404':
          description: API or endpoint not found
components:
  securitySchemes:
    rapidApiKey:
      type: apiKey
      name: X-RapidAPI-Key
      in: header
      description: >-
        RapidAPI key used for authenticating all requests to the Hub API.
        Available from the developer dashboard after registration.
  parameters:
    offset:
      name: offset
      in: query
      required: false
      description: The number of items to skip for pagination
      schema:
        type: integer
        minimum: 0
        default: 0
    limit:
      name: limit
      in: query
      required: false
      description: The maximum number of items to return
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 25
  schemas:
    ApiSummary:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the API
        name:
          type: string
          description: Display name of the API
        slug:
          type: string
          description: URL-friendly slug for the API
        description:
          type: string
          description: Short description of the API
        category:
          type: string
          description: Category the API belongs to
        imageUrl:
          type: string
          format: uri
          description: URL to the API icon or logo
        averageRating:
          type: number
          format: float
          description: Average user rating for the API
        popularity:
          type: number
          format: float
          description: Popularity score based on usage and subscriptions
        isVerified:
          type: boolean
          description: Whether the API provider is verified
        provider:
          type: string
          description: Name of the API provider
    ApiDetails:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the API
        name:
          type: string
          description: Display name of the API
        slug:
          type: string
          description: URL-friendly slug for the API
        description:
          type: string
          description: Short description of the API
        longDescription:
          type: string
          description: Detailed description with use cases and examples
        category:
          type: string
          description: Category the API belongs to
        imageUrl:
          type: string
          format: uri
          description: URL to the API icon or logo
        websiteUrl:
          type: string
          format: uri
          description: URL to the API provider's website
        termsOfServiceUrl:
          type: string
          format: uri
          description: URL to the API's terms of service
        averageRating:
          type: number
          format: float
          description: Average user rating
        totalRatings:
          type: integer
          description: Total number of ratings
        isVerified:
          type: boolean
          description: Whether the API provider is verified
        provider:
          type: string
          description: Name of the API provider
        plans:
          type: array
          items:
            $ref: '#/components/schemas/PricingPlan'
          description: Available subscription plans
        tags:
          type: array
          items:
            type: string
          description: Tags associated with the API
    ApiEndpoint:
      type: object
      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: The URL path for the endpoint
        description:
          type: string
          description: Description of what the endpoint does
        group:
          type: string
          description: The endpoint group this endpoint belongs to
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/EndpointParameter'
          description: Parameters accepted by this endpoint
    EndpointParameter:
      type: object
      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 for the parameter if not provided
        location:
          type: string
          enum:
            - query
            - path
            - header
            - body
          description: Where the parameter is sent in the request
    PricingPlan:
      type: object
      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
          description: Monthly price in USD
        rateLimit:
          type: integer
          description: Maximum number of requests allowed per month
        features:
          type: array
          items:
            type: string
          description: List of features included in this plan
    HubCategory:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the category
        name:
          type: string
          description: Category display name
        slug:
          type: string
          description: URL-friendly category slug
        apiCount:
          type: integer
          description: Number of APIs in this category
    HubCollection:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the collection
        title:
          type: string
          description: Collection title
        description:
          type: string
          description: Description of the collection
        apiCount:
          type: integer
          description: Number of APIs in this collection
        imageUrl:
          type: string
          format: uri
          description: URL to the collection image
    HubSubscription:
      type: object
      properties:
        id:
          type: string
          description: Unique subscription identifier
        apiId:
          type: string
          description: The subscribed API identifier
        apiName:
          type: string
          description: Name of the subscribed API
        planName:
          type: string
          description: Name of the subscription plan
        status:
          type: string
          enum:
            - active
            - cancelled
            - expired
          description: Current subscription status
        usageCount:
          type: integer
          description: Number of API calls made in the current period
        usageLimit:
          type: integer
          description: Maximum API calls allowed in the current period
        subscribedAt:
          type: string
          format: date-time
          description: Timestamp when the subscription was created
    CodeSnippet:
      type: object
      properties:
        language:
          type: string
          description: Programming language name
        library:
          type: string
          description: HTTP library or framework used
        code:
          type: string
          description: The generated code snippet