openapi: 3.0.1
info:
title: Particle Space Address Search Listings API
description: 'Particle Space is proptech infrastructure for real-estate and property data. The API is organized around REST, has resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. Requests are authenticated with an API key; the key determines whether the request runs in live mode or test mode.
This specification models the documented Particle Space data-platform product areas - property records, address/property search, valuations (AVM), comparables, and listings (for sale, rent, and off-market). The exact request paths, query parameters, and response schemas should be reconciled against the live API reference at https://docs.particlespace.com/docs/intro/. Resource paths and field names below are illustrative of the documented product areas and are marked unreconciled until verified.'
termsOfService: https://particlespace.com/
contact:
name: Particle Space
url: https://docs.particlespace.com/docs/intro/
version: '1.0'
servers:
- url: https://api.particlespace.com
description: Conventional API host for Particle Space. Confirm the exact base URL in the live API reference before use.
security:
- SecretKeyAuth: []
tags:
- name: Listings
description: For-sale, for-rent, and off-market property listings.
paths:
/listings:
get:
operationId: listListings
tags:
- Listings
summary: List for-sale, for-rent, and off-market listings.
parameters:
- name: status
in: query
required: false
schema:
type: string
enum:
- for_sale
- for_rent
- off_market
description: Listing status filter.
- name: address
in: query
required: false
schema:
type: string
description: Address or area to match listings.
- name: limit
in: query
required: false
schema:
type: integer
description: Maximum number of listings to return.
responses:
'200':
description: A list of listings.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Listing'
'401':
$ref: '#/components/responses/Unauthorized'
/listings/{id}:
get:
operationId: getListing
tags:
- Listings
summary: Retrieve a single listing.
parameters:
- name: id
in: path
required: true
schema:
type: string
description: Listing identifier.
responses:
'200':
description: A listing.
content:
application/json:
schema:
$ref: '#/components/schemas/Listing'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
description: Listing not found.
components:
schemas:
Property:
type: object
description: A property record. Field set to be reconciled against the live API reference.
properties:
id:
type: string
address:
$ref: '#/components/schemas/Address'
propertyType:
type: string
bedrooms:
type: number
bathrooms:
type: number
squareFootage:
type: number
yearBuilt:
type: integer
Error:
type: object
properties:
error:
type: object
properties:
type:
type: string
message:
type: string
Listing:
type: object
description: A for-sale, for-rent, or off-market listing.
properties:
id:
type: string
status:
type: string
enum:
- for_sale
- for_rent
- off_market
price:
type: number
address:
$ref: '#/components/schemas/Address'
property:
$ref: '#/components/schemas/Property'
Address:
type: object
properties:
line1:
type: string
city:
type: string
state:
type: string
postalCode:
type: string
latitude:
type: number
longitude:
type: number
responses:
Unauthorized:
description: Missing or invalid API key.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
SecretKeyAuth:
type: http
scheme: bearer
description: Authenticate with a Particle Space secret API key (PS_SECRET_KEY) as a bearer token. The key determines live versus test mode. Confirm the exact authentication scheme and header in the live API reference.