@dealmachine/shared/constants/plans source used by the frontend. It only includes self-serve plans. Sales-managed Scale plans and private offer plans are not returned.available_operations lists the free API operations; estimate_cost=true must be a JSON boolean on supported routes. Counts and estimates consume no credits. Enrichment requires paid access even when another product has a separate free allowance.1curl https://api.v2.dealmachine.com/v1/plans
1234567891011121314151617181920212223242526272829303132333435363738{ "plans": [ { "id": "prod_UXvhA0ZjLHucgF", "name": "Basic", "description": "For solo investors and small teams hunting off-market deals", "type": "solo", "pricing": { "currency": "usd", "monthly_price_cents": 9900, "annual_price_cents": 99000, "is_per_user": true }, "credits": { "enrichment_per_month": 10000, "enrichment_per_year": 120000, "ai_per_month": 25000000 }, "features": ["Nationwide property & owner data", "Saved searches & filters"], "stripe_price_ids": { "monthly": "price_xxx_monthly", "annual": "price_xxx_annual" }, "seats": { "min": 1, "max": 6 } } ], "free_tier": { "enrichment_credit_cap": 0, "ai_credit_cap": 1000000, "api_access": true, "counts_and_estimates_cost_credits": false, "enrichment_requires_subscription": true, "available_operations": ["POST /v1/properties/search/count", "POST /v1/people/search/count"] } }
| Field | Type | Description |
plans[].id | string | Stripe product ID for the current API environment |
plans[].name | string | Plan name, such as Basic or Pro |
plans[].type | string | Self-serve plan family. Currently solo. |
plans[].pricing.monthly_price_cents | number | Monthly per-seat price in cents |
plans[].pricing.annual_price_cents | number | Annual per-seat price in cents |
plans[].credits.enrichment_per_month | number | Monthly data credits per seat |
plans[].stripe_price_ids.monthly | string | Monthly Stripe price ID to pass to POST /v1/checkout |
plans[].stripe_price_ids.annual | string | Annual Stripe price ID to pass to POST /v1/checkout |
plans[].seats.max | number | null | Maximum self-serve quantity for the plan |
seats.max values.