What does this API do?
The Farm Yield Report API (provided by SatSure Analytics India Pvt Ltd, service code 104) delivers farm health parameters — including irrigation conditions, water body proximity, groundwater availability, minimum support prices, crop yield potential, and weather history — derived from geospatial and satellite data.
Two services are available:
- farmyieldreport (v1.4) — Single land parcel query, synchronous GET request. Returns SatScore, cropping history, regional parameters, farm geometry, and neighbouring parcel data.
- farmyieldreportmultiland (v1.5) — Up to 5 land parcels per request, asynchronous POST request. A report-requested acknowledgement is returned immediately; the full report is delivered to the lender's registered callback URL once SatSure processes it (typically within 5 seconds).
State coverage for the multiland service: Madhya Pradesh (23), Odisha (21), Telangana (36), Maharashtra (27), Andhra Pradesh (37).
Who can use it?
Lenders and financial institutions onboarded to the ULI Platform who have subscribed to the Farm Yield Report service in the Developer Portal.
What are the prerequisites?
Complete all common platform prerequisites as described in Getting Started with ULI Platform APIs.
In addition, the following are specific to this service:
- SatSure member ID: An
x-sp-memberIdis assigned to each lender by SatSure during registration and must be passed as a header on every request. - For the multiland (async) service, the lender must register a callback URL with the platform during UAT onboarding. An
x-lender-auth-token(JWT) should also be provided so that the platform can authenticate callbacks posted to the lender. - Ensure the Farm Yield Report service is subscribed separately for Sandbox and Production in the Dev Portal.
What are the API endpoints?
farmyieldreport (single parcel, synchronous GET)
| Environment | URL | Method |
|---|---|---|
| Sandbox | https://extgw.nonprod.rbihub.io/farmyieldreport/1.4/en | GET |
| Production | https://extgw.api.rbihub.io/satsourcereport/1.4/en | GET |
farmyieldreportmultiland (multi-parcel, asynchronous POST)
| Environment | URL | Method |
|---|---|---|
| Sandbox | https://extgw.nonprod.rbihub.io/farmyieldreportmultiland/1.5/en | POST |
| Production | https://extgw.api.rbihub.io/satsourcereportmultiland/1.5/en | POST |
What headers must be sent?
farmyieldreport headers
| Header | Description | Required |
|---|---|---|
Authorization | JWT Bearer token from the Authentication API | Mandatory |
client-id | Base64-encoded Client ID from onboarding | Mandatory |
provider | 104 for SatSure | Mandatory |
ts | Timestamp in ISO-8601 format | Mandatory |
txncode | Unique alphanumeric transaction code | Mandatory |
statelrc | MDDS state code (e.g., 23 for Madhya Pradesh) | Mandatory |
vilglrc | Village LGD code | Mandatory |
khasraid | Khasra number of the land parcel | Mandatory |
x-sp-memberId | Member ID assigned by SatSure per lender | Mandatory |
x-env-route | Set to /sb for Sandbox only | Sandbox only |
farmyieldreportmultiland headers (additional)
| Header | Description | Required |
|---|---|---|
Authorization | JWT Bearer token from the Authentication API | Mandatory |
client-id | Base64-encoded Client ID from onboarding | Mandatory |
provider | 104 for SatSure | Mandatory |
x-sp-memberId | Member ID assigned by SatSure per lender | Mandatory |
x-lender-auth-token | JWT token for authenticating the async callback posted to the lender (v1.4 onwards) | Mandatory |
x-env-route | Set to /sb for Sandbox only | Sandbox only |
What does the request body look like?
farmyieldreport is a GET API — all parameters are passed as headers (see above).
farmyieldreportmultiland uses the following JSON body structure:
{
"meta": {
"ver": "1.5",
"ts": "2023-01-03T21:10:23+05:30",
"txncode": "unique-transaction-code"
},
"data": {
"landRecordData": [
{
"state": "23",
"village_lgd_code": "340902",
"khasara": "6 (S)"
}
]
},
"hmac": "SHA-256 hash of the value of key 'data'"
}
| Field | Description |
|---|---|
meta.ts | ISO-8601 timestamp |
meta.txncode | Unique transaction code |
meta.ver | API version |
data.landRecordData | Array of up to 5 land parcel objects |
state | MDDS state code |
village_lgd_code | Village LGD code |
khasara | Khasra number (Madhya Pradesh) |
survey_number | Survey number (Telangana, Maharashtra, Andhra Pradesh) |
khatiyan_number | Khatiyan number (Odisha) |
plot_number | Plot number (Odisha) |
hmac | SHA-256 hash of the value under key data |
Note: Only fields relevant to each state need to be included. Refer to state-specific sample payloads in the API specification.
What does the response contain?
farmyieldreport (synchronous) response fields
| Field | Description |
|---|---|
errcode | Error code; E000 on success |
status | success or fail |
farmGeometry | Farm geometry including image URL, centroid lat/lon, and geometry label |
farmDetails | Region details, survey area, survey label |
satScore | Overall yield score, Rabi score, Kharif score, base score |
farmerCroppingHistory | Season-wise crop performance, potential yield, district threshold yield, and MSP |
baseScoreParameters | Cropping intensity, irrigation condition, land use type |
regionalParameters | Nearest mandi/water body/road-rail, soil type, drought history, village population, temperature range, agro-ecological zone |
neighboringGeometry | Location and direction of adjacent land parcels |
units | Units used for area, distance, yield, and temperature |
signature | Digital signature of the response data |
hmac | SHA-256 hash of the response data |
publickey | Platform public key for source verification |
farmyieldreportmultiland (async) initial response
Returns "response": "Satsource Report Requested Successfully" with errcode: E000. The full report is sent to the lender's callback URL as a PDF in base64 format, along with a referenceId, txncode, and a boolean status field.
What are the error codes?
Refer to the Latest Platform Error Code document on the Dev Portal for the full list of error values applicable to this service.
Who do I contact for support?
Write to support@rbihub.in with the following details:
- Subject: Farm Yield API Error
- Service Name: Farm Yield Report
- Environment: Sandbox / Production
- Service Provider code: 104 (SatSure)
- Request Payload (headers and body)
- Error Code and Error Message received
- Screenshot or log of the error
- Prerequisites status: IP Whitelisting, URL Whitelisting, Service Subscription, Token Generation
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article