Plexa Search API
The search API from Plexa — 2 operation(s) for search.
The search API from Plexa — 2 operation(s) for search.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/joinplexa-com:joinplexa-com-search-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 3.2.0
info:
title: Plexa Search API
description: Agentic business directory for Mexico
version: 0.1.0
tags:
- name: Search
paths:
/api/v1/search:
get:
tags:
- Search
summary: Search Businesses
operationId: search_businesses_api_v1_search_get
parameters:
- name: q
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Q
- name: vertical
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Vertical
- name: city
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: City
- name: state
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: State
- name: country
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Country
- name: lat
in: query
required: false
schema:
anyOf:
- type: number
- type: 'null'
title: Lat
- name: lng
in: query
required: false
schema:
anyOf:
- type: number
- type: 'null'
title: Lng
- name: radius_km
in: query
required: false
schema:
type: number
default: 15
title: Radius Km
- name: lang
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Lang
- name: capabilities
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Capabilities
- name: min_trust_score
in: query
required: false
schema:
type: integer
default: 0
title: Min Trust Score
- name: claimed
in: query
required: false
schema:
anyOf:
- type: boolean
- type: 'null'
title: Claimed
- name: limit
in: query
required: false
schema:
type: integer
maximum: 100
minimum: 1
default: 20
title: Limit
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
default: 0
title: Offset
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/SearchResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/search:
get:
tags:
- Search
summary: Search Businesses
operationId: search_businesses_v1_search_get
parameters:
- name: q
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Q
- name: vertical
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Vertical
- name: city
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: City
- name: state
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: State
- name: country
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Country
- name: lat
in: query
required: false
schema:
anyOf:
- type: number
- type: 'null'
title: Lat
- name: lng
in: query
required: false
schema:
anyOf:
- type: number
- type: 'null'
title: Lng
- name: radius_km
in: query
required: false
schema:
type: number
default: 15
title: Radius Km
- name: lang
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Lang
- name: capabilities
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Capabilities
- name: min_trust_score
in: query
required: false
schema:
type: integer
default: 0
title: Min Trust Score
- name: claimed
in: query
required: false
schema:
anyOf:
- type: boolean
- type: 'null'
title: Claimed
- name: limit
in: query
required: false
schema:
type: integer
maximum: 100
minimum: 1
default: 20
title: Limit
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
default: 0
title: Offset
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/SearchResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
CapabilityAction:
properties:
name:
type: string
title: Name
label:
type: string
title: Label
action_type:
type: string
title: Action Type
action_url:
anyOf:
- type: string
- type: 'null'
title: Action Url
description:
anyOf:
- type: string
- type: 'null'
title: Description
type: object
required:
- name
- label
- action_type
title: CapabilityAction
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
BusinessSearchResult:
properties:
id:
type: string
title: Id
slug:
type: string
title: Slug
name:
type: string
title: Name
vertical:
type: string
title: Vertical
city:
anyOf:
- type: string
- type: 'null'
title: City
state:
anyOf:
- type: string
- type: 'null'
title: State
country:
type: string
title: Country
description_short:
anyOf:
- type: string
- type: 'null'
title: Description Short
description_long:
anyOf:
- type: string
- type: 'null'
title: Description Long
phone_e164:
anyOf:
- type: string
- type: 'null'
title: Phone E164
languages:
items:
type: string
type: array
title: Languages
default: []
capabilities:
items:
$ref: '#/components/schemas/CapabilityAction'
type: array
title: Capabilities
default: []
trust_score:
anyOf:
- type: integer
- type: 'null'
title: Trust Score
claimed:
type: boolean
title: Claimed
tier:
type: string
title: Tier
mcp_endpoint_status:
type: string
title: Mcp Endpoint Status
aggregate_rating_human:
anyOf:
- type: number
- type: 'null'
title: Aggregate Rating Human
review_count_human:
type: integer
title: Review Count Human
default: 0
price_level:
anyOf:
- type: string
- type: 'null'
title: Price Level
specialties:
items:
type: string
type: array
title: Specialties
default: []
context_hints:
items:
type: string
type: array
title: Context Hints
default: []
booking_url:
anyOf:
- type: string
- type: 'null'
title: Booking Url
whatsapp_url:
anyOf:
- type: string
- type: 'null'
title: Whatsapp Url
profile_completeness:
type: integer
title: Profile Completeness
default: 0
distance_km:
anyOf:
- type: number
- type: 'null'
title: Distance Km
type: object
required:
- id
- slug
- name
- vertical
- country
- claimed
- tier
- mcp_endpoint_status
title: BusinessSearchResult
SearchResponse:
properties:
results:
items:
$ref: '#/components/schemas/BusinessSearchResult'
type: array
title: Results
total:
type: integer
title: Total
limit:
type: integer
title: Limit
offset:
type: integer
title: Offset
filters_applied:
additionalProperties: true
type: object
title: Filters Applied
type: object
required:
- results
- total
- limit
- offset
- filters_applied
title: SearchResponse
securitySchemes:
HTTPBearer:
type: http
scheme: bearer