openapi: 3.1.0 info: title: Technical Contract for the .io Search APIs API description: This is the technical API contract for the search API for the APIs.io search engine. version: 0.1.0 contact: name: Kin Lane email: info@apievangelist.com servers: - url: https://search-api.apis.io/ tags: - name: APIs description: Index of HTTP application programming interfaces. paths: /search/apis: get: operationId: searchAPIs summary: Search APIs description: Searching across all APIs by keyword or phrase. parameters: - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Page' tags: - APIs responses: '200': description: A successful search. content: application/json: schema: $ref: '#/components/schemas/Search' examples: AddAPIResponse: $ref: '#/components/examples/SearchResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' components: schemas: metaInformation: description: Metadata about the API required: - key - value properties: key: type: string value: type: string Meta: type: object properties: search: type: string type: type: string limit: type: integer page: type: integer totalPages: type: integer required: - totalPages - page - limit Contact: description: Information on contacting the API support required: - FN properties: FN: type: string minLength: 1 email: type: string format: email organizationName: type: string minLength: 1 adr: type: string tel: type: string minLength: 1 X-github: type: string photo: type: string pattern: ^(http)|(https)://(.*)$ vCard: type: string pattern: ^(http)|(https)://(.*)$ url: type: string pattern: ^(http)|(https)://(.*)$ APIs: type: array description: Listing of APIs in the APIs.json format. items: $ref: '#/components/schemas/API' Link: type: object properties: self: type: string first: type: string prev: type: string next: type: string last: type: string required: - self Property: description: A representation of a URL required: - type - url properties: type: type: string pattern: ^(Swagger)$|^(RAML)$|^(Blueprint)$|^(WADL)$|^(WSDL)$|^(TermsOfService)$|^(InterfaceLicense)$|^(StatusPage)$|^(Pricing)$|^(Forums)$|^(AlertsTwitterHandle)$|^(X-[A-Za-z0-9\-]*)$ enum: - Swagger - RAML - Blueprint - WADL - WSDL - TersmOfService - InterfaceLicense - StatusPage - Pricing - Forums url: type: string pattern: ^(http)|(https)://(.*)$ API: description: The description of the API required: - name - description - image - baseURL - humanURL - properties - contact properties: name: type: string description: name minLength: 5 description: type: string description: description of the API minLength: 5 image: type: string description: URL of an image representing the API baseURL: type: string pattern: ^(http)|(https)://(.*)$ description: baseURL humanURL: type: string pattern: ^(http)|(https)://(.*)$ description: humanURL tags: type: array items: type: string minLength: 1 description: tags to describe the API properties: type: array items: $ref: '#/components/schemas/Property' description: URLs contact: type: array items: $ref: '#/components/schemas/Contact' description: Contact to reach if questions about API meta: type: array items: $ref: '#/components/schemas/metaInformation' Problem: xml: name: problem namespace: urn:ietf:rfc:7807 properties: type: type: string description: A URI reference that identifies the problem type example: https://example.com/probs/out-of-credit title: type: string description: A short, human-readable summary of the problem type example: You do not have enough credit. detail: type: string description: A human-readable explanation specific to this occurrence of the problem example: Your current balance is 30, but that costs 50. instance: type: string description: A URI reference that identifies the specific occurrence of the problem example: /account/12345/msgs/abc status: type: integer description: The HTTP status code example: 400 Search: type: object description: An JSON API object with metadata, data, and links. properties: meta: $ref: '#/components/schemas/Meta' data: $ref: '#/components/schemas/APIs' links: $ref: '#/components/schemas/Link' required: - meta - data - links responses: InternalServerError: description: Internal Server Error content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://example.com/errors/internal-server-error title: Internal Server Error status: 500 detail: An unexpected error occurred. BadRequest: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://example.com/errors/bad-request title: Bad Request status: 400 detail: The request is invalid or missing required parameters. TooManyRequests: description: Too Many Requests content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://example.com/errors/too-many-requests title: Too Many Requests status: 429 detail: You have exceeded the rate limit. NotFound: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://example.com/errors/not-found title: Not Found status: 404 detail: The requested resource was not found. Forbidden: description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://example.com/errors/forbidden title: Forbidden status: 403 detail: Access is forbidden with the provided credentials. Unauthorized: description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://example.com/errors/unauthorized title: Unauthorized status: 401 detail: You do not have the necessary permissions. parameters: Page: name: page description: The page of the results. in: query required: false schema: type: string Search: name: search description: The keyword to search by. in: query required: false schema: type: string Limit: name: limit description: The limit of the results. in: query required: false schema: type: string examples: SearchResponse: summary: A successful search response. value: meta: search: AI limit: 50 page: 0 totalPages: 20 data: - name: AssemblyAI API description: Built by AI experts, AssemblyAI’s Speech AI models include accurate speech-to-text for voice data (such as calls, virtual meetings, and podcasts), speaker detection, sentiment analysis, chapter detection, PII redaction, and more. searchUrl: https://ai.apis.io/apis/assemblyai/apis/ apiUrl: https://www.assemblyai.com/docs/ indexUrl: https://raw.githubusercontent.com/api-search/artificial-intelligence/main/_apis_/assemblyai/apis.md score: 546 tags: - Artificial Intelligence - AI links: self: /search/apis/?search=&page=0&limit=50 next: /search/apis/?search=&page=01&limit=50 last: /search/apis/?search=&page=20&limit=50 securitySchemes: api_key: type: apiKey name: x-api-key in: header