Developer Resources
API Documentation
Integrate property title data directly into your applications with our RESTful API. Access 150M+ properties and 7B+ documents programmatically.
https://api.propertytitles.com
v1
JSON
Getting Started
Authentication
Get Your API Key
Sign up for a developer account and generate your API key from the Developer Portal dashboard.
Include in Request Headers
Pass your API key in the Authorization header as a Bearer token with every request.
Handle Rate Limits
Respect rate limit headers (X-RateLimit-Remaining) and implement exponential backoff for 429 responses.
Example Request
curl -X GET "https://api.propertytitles.com/v1/properties/search?query=123+Main+St&state=CA" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
Reference
API Endpoints
GET
/v1/properties/search
Search properties by address, owner name, APN, or coordinates. Returns matching property records with basic title information.
Parameters
- query (string) — Address, owner name, or APN
- state (string) — Two-letter state code
- county (string, optional) — County name
- limit (int, optional) — Results per page (default: 25, max: 100)
- offset (int, optional) — Pagination offset
GET
/v1/properties/{id}
Retrieve detailed property information including current owner, legal description, assessed value, and tax status.
Parameters
- id (string) — Property ID from search results
- include (string, optional) — Comma-separated: title,liens,deeds,tax
GET
/v1/properties/{id}/title
Full title search report for a property. Returns chain of title, current liens, encumbrances, and title status.
Parameters
- id (string) — Property ID
- depth (int, optional) — Years of title history (default: 30)
- include_documents (bool, optional) — Include document image URLs
GET
/v1/properties/{id}/liens
Active and released liens on a property including mortgages, tax liens, judgment liens, and UCC filings.
Parameters
- id (string) — Property ID
- status (string, optional) — Filter: active, released, all (default: all)
- type (string, optional) — Filter by lien type
GET
/v1/properties/{id}/deeds
Recorded deed documents for a property. Returns deed type, grantor/grantee, recording date, and document images.
Parameters
- id (string) — Property ID
- from_date (date, optional) — Start date filter (YYYY-MM-DD)
- to_date (date, optional) — End date filter (YYYY-MM-DD)
GET
/v1/documents/{document_id}
Retrieve a specific recorded document image. Returns document metadata and a signed URL for the document image.
Parameters
- document_id (string) — Document ID from title or deed endpoints
- format (string, optional) — pdf or png (default: pdf)
POST
/v1/batch/search
Submit a batch of up to 1,000 property searches. Returns a job ID for polling results.
Parameters
- properties (array) — List of search objects with address or APN
- callback_url (string, optional) — Webhook URL for completion notification
- priority (string, optional) — standard or expedited
GET
/v1/batch/{job_id}
Check the status of a batch search job and retrieve completed results.
Parameters
- job_id (string) — Job ID from batch/search response
Integrate Faster
Official SDKs
Python SDK
v2.4.1pip install propertytitles
Node.js SDK
v2.3.0npm install @propertytitles/sdk
Ruby Gem
v1.8.2gem install propertytitles
PHP Package
v2.1.0composer require propertytitles/sdk
Limits & Responses
Rate Limits & Error Codes
Rate Limits by Plan
HTTP Status Codes
200
Success
400
Bad Request — Invalid parameters
401
Unauthorized — Invalid API key
429
Rate limit exceeded
500
Internal server error
Ready to Start Building?
Create your developer account and get your API key in minutes. Start with 100 free searches.