Developer Docs

Skip Tracing API Documentation

Build on Tracerfy's skip tracing platform. Secure, scalable REST API designed for high-volume property owner contact data retrieval workflows.

Base URL
https://tracerfy.com/v1/api/
Auth
Authorization: Bearer <TOKEN>
GET

Fetch all Queue

/v1/api/queues/
Description: Returns all queues for the authenticated user. Each queue represents a trace job created via API or the app. While a queue is pending, the serializer hides rows_uploaded and credits_deducted for API queues. When complete, download_url is populated with a public CSV link.

Headers

  • Authorization = Bearer <YOUR_TOKEN>

Example Request

curl -X GET 'https://tracerfy.com/v1/api/queues/' -H 'Authorization: Bearer '

Example Response 200

[
  {
    "id": 123,
    "created_at": "2025-01-01T12:00:00Z",
    "pending": false,
    "download_url": "https://tracerfy.nyc3.cdn.digitaloceanspaces.com/tracerfy/9a584124-77c2-4612-b8e9-f9efe6fbdc3d.csv",
    "rows_uploaded": 2500,
    "credits_deducted": 225,
    "queue_type": "api"
  }
]
GET

Fetch Single Queue

/v1/api/queue/:id
Description: Returns the property records associated with a queue’s posted addresses. Object-level permission enforced: only the queue owner can access. Null contact fields are normalized to empty strings in the response.

Headers

  • Authorization = Bearer <YOUR_TOKEN>

Parameters

Name
In
Type
Required
Description
:id
path
integer
Yes
Queue ID

Example Request

curl -X GET 'https://tracerfy.com/v1/api/queue/123' -H 'Authorization: Bearer '

Example Response 200

[
  {
    "id": 991,
    "created_at": "2025-01-01",
    "address": "123 Main St",
    "city": "Austin",
    "state": "TX",
    "mail_address": "PO Box 111",
    "mail_city": "Austin",
    "mail_state": "TX",
    "first_name": "Jane",
    "last_name": "Doe",
    "primary_phone": "5125550100",
    "primary_phone_type": "Mobile",
    "email_1": "[email protected]",
    "email_2": "",
    "email_3": "",
    "email_4": "",
    "email_5": "",
    "mobile_1": "5125550100",
    "mobile_2": "",
    "mobile_3": "",
    "mobile_4": "",
    "mobile_5": "",
    "landline_1": "",
    "landline_2": "",
    "landline_3": ""
  }
]
GET

Analytics

/v1/api/analytics/
Description: Aggregated summary for your account: total_queues, properties_traced (sum of posted addresses per queue), queues_pending, queues_completed, and current credit balance.

Headers

  • Authorization = Bearer <YOUR_TOKEN>

Example Request

curl -X GET 'https://tracerfy.com/v1/api/analytics/' -H 'Authorization: Bearer '

Example Response 200

{
  "total_queues": 12,
  "properties_traced": 18350,
  "queues_pending": 2,
  "queues_completed": 10,
  "balance": 940
}
POST

Begin Trace

/v1/api/trace/
Description: Starts a trace job from CSV or JSON. Cleans and de-duplicates rows, then enqueues processing. If credits are insufficient and no saved Stripe payment method exists, the request is rejected. Returns a queue_id immediately; results are delivered via download_url when complete.

Headers

  • Authorization = Bearer <YOUR_TOKEN>
  • Content-Type = multipart/form-data or application/json

Parameters

Name
In
Type
Required
Description
address_column
body
string
Yes
Column for property address
city_column
body
string
Yes
Column for property city
state_column
body
string
Yes
Column for property state
zip_column
body
string
No
Property ZIP (optional)
first_name_column
body
string
Yes
Owner first name
last_name_column
body
string
Yes
Owner last name
mail_address_column
body
string
Yes
Mailing address
mail_city_column
body
string
Yes
Mailing city
mail_state_column
body
string
Yes
Mailing state
mailing_zip_column
body
string
No
Mailing ZIP (optional)
csv_file
form-data
file
Yes
CSV file of records
json_data
body
string
No
Raw JSON array of records (alternative to csv_file)

Example Request

curl -X POST 'https://tracerfy.com/v1/api/trace/' \
  -H 'Authorization: Bearer ' \
  -F 'csv_file=@/path/to/records.csv' \
  -F 'address_column=address' \
  -F 'city_column=city' \
  -F 'state_column=state' \
  -F 'zip_column=zip' \
  -F 'first_name_column=first_name' \
  -F 'last_name_column=last_name' \
  -F 'mail_address_column=mail_address' \
  -F 'mail_city_column=mail_city' \
  -F 'mail_state_column=mail_state' \
  -F 'mailing_zip_column=mailing_zip'

Example Response 200

{
  "message": "Queue created",
  "queue_id": 456,
  "status": "pending",
  "created_at": "2025-01-02T10:15:00Z"
}
POST

Webhooks

Account.webhook_url
Description: When a queue completes, Tracerfy POSTs the result to the webhook URL configured in your account profile. This is per-user and dynamic; no registration endpoint is required.

Headers

  • Content-Type = application/json

Example Request

Tracerfy sends this JSON to your Account.webhook_url.

Example Response 200

{
  "id": 365,
  "created_at": "2025-07-13T18:55:02.962332Z",
  "pending": false,
  "download_url": "https://tracerfy.nyc3.cdn.digitaloceanspaces.com/tracerfy/9a584124-77c2-4612-b8e9-f9efe6fbdc3d.csv",
  "rows_uploaded": 12,
  "credit_deducted": 8,
  "queue_type": "api"
}