Surqo uses a freemium model designed to let any farmer start for free and upgrade when they need more AI power. The Free plan provides enough capacity to evaluate the platform and monitor one farm indefinitely — real-time sensor data, KPIs, and email alerts are always unlimited. The AI analysis and chat features are governed by a quota tracked in theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/ricardomb-tech/surqo/llms.txt
Use this file to discover all available pages before exploring further.
user_profiles table so every request is consistent across devices and sessions.
Plans Comparison
| Feature | Free | Pro |
|---|---|---|
| Price | $0 | $15–25 USD/month |
| Farms | 1 | Unlimited |
| AI analyses (lifetime) | 4 | Unlimited |
| Max tokens per analysis | 800 | 2,048 |
| Token budget (lifetime) | 3,200 | Unlimited |
| Email alerts | Unlimited | Unlimited |
| Chat with AI agronomist | Yes (token budget) | Unlimited |
| Priority support | No | Yes |
How Quota Enforcement Works
Surqo tracks two counters on every user profile:analyses_used— incremented by 1 each timePOST /api/v1/analysis/analyzecompletes successfully.tokens_used— incremented by the number of output tokens generated in each analysis or chat turn.
current_user.can_use_ai_analysis (for analyses) or current_user.can_use_chat (for chat). Both properties read directly from the database row — there is no separate cache layer — so quota changes take effect immediately.
When a quota is exceeded the API returns HTTP 402 with a structured error body:
Handling 402 in Code
Check Quota Before Calling Analyze
PollGET /api/v1/users/me/plan-limits before displaying the analysis button to give users a clear view of their remaining capacity:
Upgrading a User to Pro
Plan upgrades are currently performed manually via the admin endpoint. Stripe integration is planned but not yet implemented."paid" the backend sets plan_activated_at to the current UTC timestamp and all quota checks immediately return unlimited. Downgrading back to "free" restores the quota limits against the same analyses_used and tokens_used counters — no counter reset occurs on downgrade.
Free Tier Quota Summary
The Free tier includes:
- 1 farm maximum
- 4 AI analyses total (lifetime, not monthly)
- 800 tokens maximum per analysis response
- 3,200 total token budget for chat across all sessions
- Unlimited email alerts — no monthly cap
Quota Properties in Code
The constants are defined on theUserProfile model and used consistently across all quota checks: