Skip to main content

Accessing your Opportunities

During the discovery calls, we should have set up your customized access based on your use case, buy boxes, and other requirements. To view your current opportunities, you can view the list of our active cash offer requests (“offer requests”) by getting the /offer-requests endpoint:
curl --request GET \
  --url https://v2.easystreetoffers.com/api/v2/offer-requests \
  --header 'Authorization: <api-key>'
You can make this call and view response payload directly in our playground
You will get something like this:
[
    {
        "request": {
            "offer_request_id": 188,
            "offer_requested_at": "2024-05-22T21:52:19.588454+00:00",
            "offer_request_asking": 420000,
            "offer_request_status": "receiving_offers"
        },
        "property": {
            "City": "Mesa",
            "sl_id": "1",
            "ListPrice": 420000,
            "MlsStatus": "Active",
            "YearBuilt": 1998,
            "LivingArea": 1388,
            "PostalCode": "85207",
            "StreetName": "E Contessa St",
            "cbsa_title": "Phoenix-Mesa-Chandler, AZ",
            "updated_at": "2024-05-22T21:52:19.367658+00:00",
            "inputted_at": "2024-05-22T21:52:19.367658+00:00",
            "StreetNumber": "11538",
            "BathroomsFull": 3,
            "BedroomsTotal": 2,
            "CountyOrParish": "Mesa",
            "StateOrProvince": "AZ",
            "UnparsedAddress": "11538 E Contessa St",
            "ListAgentFullName": "VREI TEST",
            "LotSizeSquareFeet": 5258,
            "inventory_property_id": 250
        },
        "media": [
            "https://picsum.photos/200"
        ]
    },
  ...
  ]
Fields named with Pascal Case convention follow the RESO 2.0 standard. Because we have 100+ fields per property, we’ve hidden the fields with null as values. To view a list of all possible return fields, please visit our API Reference.

Making a cash offer

The offer_request_id uniquely identifies a cash offer request. To make a cash offer, you can post to the /offers endpoint:
curl --request POST \
  --url https://v2.easystreetoffers.com/api/v2/offers \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
    "offer_request_id": 2639,
    "created_at": "2024-08-1 14:21:01.61138+00",
    "offer_amount": 500000,
    "buyer_pays_buyer_broker_commission": false,
    "buyer_pays_listing_broker_commission": false,
    "offer_expires": "2024-05-20 14:19:59.057+00",
    "offer_memo": "I'\''m interested in buying your property",
    "offer_status": "active",
    "additional_terms": null,
    "earnest_money": 40000,
    "em_hard_post_inspection": true,
    "lease_back": true,
    "lease_back_period": 90,
    "flexible_closing": true,
    "post_possession": true,
    "waive_warranty": true,
    "inspection_period": 10,
    "post_possession_period": 90,
    "offer_is_counter_offer": null,
    "offer_decided_at": null,
    "test": true
}'
In the above offer, you are making a $500,000 offer on the property with offer_request_id 2639. Your our specifies that the seller should pay both the buyer and listing broker commissions. You are willing to pay $40,000 in earnest money to lock in the deal.
Note the "test":true field. This offer will be sent to the void and not visible to our agents, so be sure to remove it or set it as false in production

Configure a webhook

We will send a POST request to the webhook URL you provide when you receive a decision on your offer. You can create one by posting:
curl --request POST \
  --url https://v2.easystreetoffers.com/api/v2/wh \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
  "url": "https://example.com/webhook"
}'
If the listing agent decides on the cash offer, you will receive an UPDATE webhook to your callback url. Otherwise, if an agent counters your offer, you will receive an INSERT webhook with a counter-offer payload.

Receiving offer updates

{
  "event": "offer_updated",
  "offer_request_id": 188,
  "offer_id": 235,
  "offer_status": "offer_accepted"
}
View all the possible webhook payload here. If an agent accepts your offer, our acquistion team will contact you to move this deal forward.

Viewing your cash offers

You can view your cash offers by getting the /offers endpoint:
curl --request GET \
  --url https://v2.easystreetoffers.com/api/v2/offers \
  --header 'Authorization: <api-key>'

Buyer Lead Submit

To create a lead from buyer platform, send a POST request to the /api/v2/buyer/lead endpoint with the following information: first name, last name, email, phone number, property address (including offer_request_id and inventory_property_id). The offer_request_id and inventory_property_id can be obtained from the /api/v2/offer-requests API.
curl --request POST \
  --url https://v2.easystreetoffers.com/api/v2/buyer/lead \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
      "first_name": "My lead",
      "last_name": "My",
      "primary_email": "lead@yourdomain.com",
      "primary_phone": "+1111111",
      "property_address": {
        "offer_request_id": 56641,
        "inventory_property_id": 116775
      }
}'
Ready? Head to our API Reference for full range of functions.