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/perchwell-member-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: Perchwell JSON Listings Member API
version: '1.0'
description: Perchwell's JSON API provides access to real estate listing data in a format designed for ease of use and speed of development. The API uses simple token authentication and a basic query interface for filtering listings and paginating through results. Faithfully generated by the API Evangelist enrichment pipeline from Perchwell's published API reference (https://docs.perchwell.com/#/json_api_getting_started).
contact:
name: Perchwell Support
email: support@perchwell.com
url: https://docs.perchwell.com
servers:
- url: https://www.perchwell.com
description: Production
security:
- tokenAuth: []
tags:
- name: Member
description: RESO Member resource (agents).
paths:
/Member:
get:
operationId: queryMember
summary: Query Member records
tags:
- Member
parameters:
- $ref: '#/components/parameters/filter'
- $ref: '#/components/parameters/top'
- $ref: '#/components/parameters/skip'
- $ref: '#/components/parameters/select'
responses:
'200':
description: A collection of Member records.
content:
application/json:
schema:
$ref: '#/components/schemas/MemberCollection'
post:
operationId: createMember
summary: Create a Member record
tags:
- Member
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Member'
responses:
'201':
description: Member created.
content:
application/json:
schema:
$ref: '#/components/schemas/Member'
/Member('{id}'):
get:
operationId: getMember
summary: Get a Member by MemberKey
tags:
- Member
parameters:
- $ref: '#/components/parameters/id'
responses:
'200':
description: The Member record.
content:
application/json:
schema:
$ref: '#/components/schemas/Member'
patch:
operationId: updateMember
summary: Update a Member by MemberKey
tags:
- Member
parameters:
- $ref: '#/components/parameters/id'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Member'
responses:
'200':
description: The updated Member record.
content:
application/json:
schema:
$ref: '#/components/schemas/Member'
components:
schemas:
MemberCollection:
type: object
properties:
'@odata.context':
type: string
'@odata.count':
type: integer
value:
type: array
items:
$ref: '#/components/schemas/Member'
Member:
type: object
description: RESO Member resource (agent).
properties:
MemberKey:
type: string
MemberFirstName:
type: string
MemberLastName:
type: string
MemberMiddleName:
type: string
MemberEmail:
type: string
MemberAddress1:
type: string
MemberCity:
type: string
MemberStateOrProvince:
type: string
MemberPostalCode:
type: string
MemberOfficePhone:
type: string
MemberStateLicense:
type: string
MemberStatus:
type: string
OfficeKey:
type: string
ModificationTimestamp:
type: string
format: date-time
parameters:
id:
name: id
in: path
required: true
description: The resource primary key value.
schema:
type: string
skip:
name: $skip
in: query
required: false
description: Number of matching items to skip (default 0).
schema:
type: integer
default: 0
select:
name: $select
in: query
required: false
description: Comma-separated list of resource elements to return.
schema:
type: string
filter:
name: $filter
in: query
required: false
description: OData filter expression restricting returned items.
schema:
type: string
top:
name: $top
in: query
required: false
description: Maximum number of matching items to return (default 10, max 200).
schema:
type: integer
default: 10
maximum: 200
securitySchemes:
tokenAuth:
type: apiKey
in: header
name: Authorization
description: Simple token authentication. Send the API token in the Authorization header.