Data API
Get a Record
Fetch a single record by UUID with GET /data/{dataset}/{id}.
GET https://api.parcelengineering.com/api/v1/data/{dataset}/{id}{dataset} is one of accounts, contacts, projects, or signals. {id} is the record’s UUID.
The Data API requires the Pro plan. A request from a Free or Starter workspace receives 403 forbidden.
Query parameters
| Parameter | Description |
|---|---|
workspace_id | Attribution. Required when authenticating with a user JWT; optional for API keys. |
include | Embed related records. Repeatable. See Related Records. |
Example
curl "https://api.parcelengineering.com/api/v1/data/projects/8a1f3c2e-0000-0000-0000-000000000001" \ -H "Authorization: Bearer pcl_your_api_key"const id = '8a1f3c2e-0000-0000-0000-000000000001';
const response = await fetch( `https://api.parcelengineering.com/api/v1/data/projects/${id}`, { headers: { 'Authorization': 'Bearer pcl_your_api_key' }, });
const { data, metadata } = await response.json();Response
{ "data": { "id": "8a1f3c2e-0000-0000-0000-000000000001", "name": "40 Trinity Place", "primary_address": "40 Trinity Place", "city": "Boston", "state": "MA", "neighborhood": "South End", "primary_use": "multifamily", "uses": ["residential"], "stage": "approved", "disposition": "active", "gross_floor_area_sf": 98000, "residential_units": 120, "cost_of_construction_usd": 42000000, "lat": 42.3468, "lng": -71.0672, "first_signal_at": "2022-03-15", "last_signal_at": "2025-11-04", "created_at": "2022-03-15T10:00:00Z", "accounts_count": 3, "contacts_count": 5, "signals_count": 7 }, "metadata": { "credits": 1 }}A detail fetch always costs 1 credit, regardless of whether include is used.
Embedding related records
Add one or more include parameters to embed related records directly in data:
curl "https://api.parcelengineering.com/api/v1/data/projects/8a1f3c2e-0000-0000-0000-000000000001?include=accounts&include=signals" \ -H "Authorization: Bearer pcl_your_api_key"See Related Records for valid include keys per dataset.
Not found
If no record with that UUID exists, the API returns 404:
{ "error": { "code": "not_found", "message": "Project not found" }}The Data API serves a global index and uses workspace_id only for usage attribution, so a 404 is not workspace-scoped: it means the UUID does not exist in Parcel’s data, not that it is hidden from your workspace.