Skip to main content

Understanding the requestId Parameter

Learn how to use the requestId parameter to track and correlate Property Lookup API batch requests with their responses.

Written by Charles Parra
Updated over 3 months ago

What is the requestId Parameter?

The requestId parameter helps you track and correlate API requests with their responses when using the Property Lookup API (/api/v1/property/lookup/all-attributes). This is especially useful when processing data in batches, enabling debugging, logging, and matching results back to your original input data.


Two Types of Request IDs

The Property Lookup API uses two different request identifiers:

Type

Location

Purpose

Format

API Call ID

results.meta.requestId

Identifies the entire API call for support/debugging

NanoId (~15 chars)

Per-Item ID

property.meta.requestId

Correlates individual items in batch requests

Your value or ShortId (~9 chars)

API Call ID (System-Generated)

Every API response includes a system-generated requestId in the top-level meta object. This ID:

  • Is always generated by the system (you cannot override it)

  • Uniquely identifies the entire API call

  • Is useful for support requests and debugging

  • Appears in our logs for troubleshooting

Example Response:

{
  "results": {
    "properties": [...],
    "meta": {
      "apiVersion": "6.71.0",
      "requestId": "iAmdxL3fsi7jAB9"
    }
  }
}

Per-Item ID (Client-Provided or System-Generated)

When sending batch Property Lookup requests, you can include a requestId for each item. This helps you match responses back to your original records.

  • If you provide a requestId, your value is returned in the response

  • If you don't provide one, a short ID (~9 characters) is generated automatically

  • The per-item ID is returned in property.meta.requestId


How to Use requestId with Property Lookup

Endpoint: POST /api/v1/property/lookup/all-attributes

Request:

{
  "requests": [{
    "address": {
      "street": "123 Main St",
      "city": "Phoenix",
      "state": "AZ",
      "zip": "85001"
    },
    "requestId": "my-property-001"
  }]
}

Response Location: property.meta.requestId

{
  "results": {
    "properties": [{
      "address": {...},
      "meta": {
        "requestId": "my-property-001"
      }
    }]
  }
}


Use Cases

Batch Processing Correlation

When processing hundreds or thousands of property records, use requestId to match results back to your source data:

# Example: Processing property lookups
records = [
    {"id": "DB-001", "address": "123 Main St, Phoenix, AZ"},
    {"id": "DB-002", "address": "456 Oak Ave, Tempe, AZ"},
    # ... thousands more
]# Build batch request with your IDs
requests = [{
    "address": parse_address(r["address"]),
    "requestId": r["id"]  # Use your database ID
} for r in records]# Send batch request to Property Lookup API
response = api.property_lookup(requests=requests)# Match results back to your records
for prop in response["results"]["properties"]:
    db_id = prop["meta"]["requestId"]
    # Update your database record with DB ID

Debugging Failed Requests

When a property lookup fails, use the requestId values to identify which specific items had issues:

{
  "results": {
    "properties": [
      {"meta": {"requestId": "prop-001"}, "address": {...}},
      {"meta": {"requestId": "prop-002", "error": true}, "errorMessage": "Address not found"}
    ]
  }
}

Support Requests

When contacting support, provide the top-level results.meta.requestId from your API response. This allows us to look up the exact request in our logs.


Best Practices

Use meaningful IDs - Include identifiers from your system (database IDs, file row numbers, etc.) rather than random strings.

Keep IDs unique per batch - Each item in a batch request should have a unique requestId to avoid confusion.

Log the API Call ID - Always log the top-level results.meta.requestId for debugging purposes.

Did this answer your question?