Retrieve a paged list of leads. You can return every lead, the leads matched by one of your saved lead filters, or the leads matched by a few simple search parameters.
| Method | URL | API key permission | Package |
|---|---|---|---|
| GET | https://rental.software/api6/leads | Leads: Read Only or Full Access | WP/API |
Request
GET /api6/leads/?apiKey=YOUR_API_KEY&filter=ABC&offset=0&limit=25
| Parameter | Default | Description |
|---|---|---|
| apiKey | Required. Your API key | |
| filter | Name of a custom lead filter saved in your account. The numeric ID of the filter also works | |
| _body | false | If true, returns more details for each lead (the customer, status, rentals, shifts and attachments). The request takes longer, so use a smaller limit with it |
| offset | 0 | Record number to start at. The first record is 0 |
| limit | 25 | Count of records to return |
Check the filter name. If filter does not match one of your saved lead filters, the API does not return an error. It returns leads without any filter applied.
Search Parameters
For simple searches you can use these parameters instead of a saved filter:
| Parameter | Description | Example |
|---|---|---|
| keyword | Searches the event name, organization, venue, city, state, zip, lead ID, and the customer's name, email and phone numbers | keyword=Rivera |
| modified_date | Leads modified in a date range. Useful for picking up only what changed since your last sync | modified_date=past_days_1 |
| create_date | Leads created in a date range | create_date=past_days_7 |
| date | Leads with an event in a date range | date=future_days_30 |
| useStartDate | Used with date. Send 1 to only include events that start inside the range. Without it, any event that touches the range is included | useStartDate=1 |
| status[] | One or more lead status IDs (not names). Repeat the parameter for more than one status | status[]=2349 |
A date range can be written two ways:
- A relative range: past_days_7 (the last 7 days), past_over_30 (more than 30 days ago), future_days_14 (the next 14 days), or future_over_60 (more than 60 days from now).
- Two dates in your account's date format, separated by a dash with a space on each side: 7/1/2026 - 7/31/2026.
For anything more specific, build a lead filter in the software and pass its name in filter. Use either a saved filter or the search parameters, not both in the same call.
Example
curl "https://rental.software/api6/leads?apiKey=YOUR_API_KEY&modified_date=past_days_1&limit=50"
Response
{
"offset": "3",
"limit": "1",
"first": "https://rental.software/api6/leads?offset=0&limit=1",
"next": "https://rental.software/api6/leads?offset=4&limit=1",
"previous": "https://rental.software/api6/leads?offset=2&limit=1",
"items": [
{
"id": "520247",
"createtime": "2025-05-28T11:33:30-04:00",
"modifiedtime": "2025-10-27T15:45:16-04:00",
"holdtime": "",
"eventname": "Test Event 2",
"eventorganization": "Big Company",
"eventstreet": "123 Main St",
"eventcity": "Akron",
"eventstate": "OH",
"eventzip": "44301",
"eventcountry": "",
"eventstarttime": "2026-07-15T16:00:00-04:00",
"eventduration": "2.00",
"deliverytype": "Fully Staffed",
"surface": "Grass",
"eventcounty": "Summit",
"taxexempt": "No",
"contactid": "533268",
"cpdiscount": "0.00",
"taxrate": "7.000",
"staffcost": "40.00",
"distcharge": "7.83",
"salestax": "27.30",
"total": "425.13",
"coupon": "0",
"fee": "0.00",
"notes": "",
"statusid": "2349",
"viewed": "Yes",
"fullstart": "2026-07-15T16:00:00-04:00",
"fullend": "2026-07-15T18:00:00-04:00",
"cushstart": "2026-07-15T08:00:00-04:00",
"cushend": "2026-07-16T02:00:00-04:00",
"adjust": "0.00",
"depositamount": "",
"amountpaid": "",
"numguests": "",
"referral": "Bing",
"locationid": "0",
"salesrep": "0",
"venueid": "16839",
"venuecontact": "",
"additionalnotes1": "",
"additionalnotes2": "",
"href": "https://rental.software/api6/leads/520247",
"createtime_ts": "1748446410",
"createtime_utc": "2025-05-28T15:33:30Z",
"modifiedtime_ts": "1761594316",
"modifiedtime_utc": "2025-10-27T19:45:16Z",
"eventstarttime_ts": "1784145600",
"eventstarttime_utc": "2026-07-15T20:00:00Z",
"fullstart_ts": "1784145600",
"fullstart_utc": "2026-07-15T20:00:00Z",
"fullend_ts": "1784152800",
"fullend_utc": "2026-07-15T22:00:00Z"
}
],
"request_time": 1760000000
}The example is shortened. Each lead contains more fields than shown here, and your code should ignore fields it does not use.
Good to Know
- Date fields come three ways: the plain field in your account's time zone, _ts as a Unix timestamp, and _utc in UTC.
- Without _body=true the rentals on each lead are not included. Use _body=true, or retrieve the single lead. See API - Leads - Retrieve Details.
- If the API key is limited to certain locations, only leads in those locations are returned.
- The first, next and previous links only carry offset and limit. Add your API key and your filter again before calling one.
- The next link is always present, even on the last page. Stop paging when a page comes back with fewer items than your limit. A request past the end returns HTTP 404.
- Each call counts as one API transaction, no matter how many leads it returns. Asking only for what changed (modified_date) keeps your transaction count low.
Errors
| Status | Message | What to do |
|---|---|---|
| 403 | Permission access restricted | Give the API key Leads access under Settings > API Keys |
| 404 | No leads found - Lead List | Nothing matched, or you paged past the end of the list |
| 405 | Only accepts GET requests | Use GET for the list. To create a lead see API - Leads - Create or Update |
See API - Errors and Rate Limits for errors that apply to every call.