Idempotency
Our API is designed to be idempotent. This means that you can safely send the same request multiple times without creating duplicate entries or causing unintended side effects. We achieve this by using thePUT HTTP method for both creating and updating resources like Brokers and Listings.
- If you
PUTdata for anexternalIdthat doesn’t exist: We create a new resource. - If you
PUTdata for anexternalIdthat already exists: We update the existing resource with the new information.
External IDs
You are the source of truth for your data. To keep our systems in sync, we rely on your unique identifiers. Throughout the API, you will see parameters like:externalBrokerIdexternalListingId
Best Practices for External IDs
Use Stable IDs
Choose IDs that won’t change over time. Database primary keys or MLS numbers are good choices.
URL-Safe Characters
Stick to alphanumeric characters, hyphens, and underscores. Avoid spaces and special characters.
Consistent Format
Use the same ID format across your integration for easier debugging and maintenance.
Document Your Mapping
Keep a record of how your internal IDs map to Venturu external IDs.
Flexible Resource Management
The Venturu API is designed to adapt to your workflow. When creating listings, you have two options for broker association:- Reference by ID: If you manage brokers separately, simply reference them using
brokerExternalIdwhen creating a listing - Inline Creation: Create or update both the broker and listing in a single API call by including the full broker object
- Separate Management: Ideal for systems where brokers are managed independently from listings (e.g., CRMs with distinct broker and listing modules)
- Coupled Creation: Perfect for syndication feeds where broker and listing data come together (e.g., MLS exports where both are in the same record)
Learn more about both approaches in the Creating a Listing guide.
Environments
The Venturu API provides two server environments. You can see these defined in our OpenAPI specification.-
Production:
https://www.venturu.com/apiThis is the live environment. All data sent to this server will be visible on the public Venturu marketplace. -
Local Development:
http://localhost:3000/apiThis URL is provided for our internal development and testing. As an external developer, you should always use the Production URL. We do not currently offer a public sandbox environment.
If you need a dedicated sandbox or staging environment for your integration, please contact joel@venturu.com to discuss your requirements.