Farm Yield Report (Multiland) — Satsure

Created by Rajatha B M, Modified on Fri, 27 Mar at 2:33 PM by Rajatha B M

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-memberId is 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)

EnvironmentURLMethod
Sandboxhttps://extgw.nonprod.rbihub.io/farmyieldreport/1.4/enGET
Productionhttps://extgw.api.rbihub.io/satsourcereport/1.4/enGET

farmyieldreportmultiland (multi-parcel, asynchronous POST)

EnvironmentURLMethod
Sandboxhttps://extgw.nonprod.rbihub.io/farmyieldreportmultiland/1.5/enPOST
Productionhttps://extgw.api.rbihub.io/satsourcereportmultiland/1.5/enPOST

What headers must be sent?

farmyieldreport headers

HeaderDescriptionRequired
AuthorizationJWT Bearer token from the Authentication APIMandatory
client-idBase64-encoded Client ID from onboardingMandatory
provider104 for SatSureMandatory
tsTimestamp in ISO-8601 formatMandatory
txncodeUnique alphanumeric transaction codeMandatory
statelrcMDDS state code (e.g., 23 for Madhya Pradesh)Mandatory
vilglrcVillage LGD codeMandatory
khasraidKhasra number of the land parcelMandatory
x-sp-memberIdMember ID assigned by SatSure per lenderMandatory
x-env-routeSet to /sb for Sandbox onlySandbox only

farmyieldreportmultiland headers (additional)

HeaderDescriptionRequired
AuthorizationJWT Bearer token from the Authentication APIMandatory
client-idBase64-encoded Client ID from onboardingMandatory
provider104 for SatSureMandatory
x-sp-memberIdMember ID assigned by SatSure per lenderMandatory
x-lender-auth-tokenJWT token for authenticating the async callback posted to the lender (v1.4 onwards)Mandatory
x-env-routeSet to /sb for Sandbox onlySandbox 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'"
}
FieldDescription
meta.tsISO-8601 timestamp
meta.txncodeUnique transaction code
meta.verAPI version
data.landRecordDataArray of up to 5 land parcel objects
stateMDDS state code
village_lgd_codeVillage LGD code
khasaraKhasra number (Madhya Pradesh)
survey_numberSurvey number (Telangana, Maharashtra, Andhra Pradesh)
khatiyan_numberKhatiyan number (Odisha)
plot_numberPlot number (Odisha)
hmacSHA-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

FieldDescription
errcodeError code; E000 on success
statussuccess or fail
farmGeometryFarm geometry including image URL, centroid lat/lon, and geometry label
farmDetailsRegion details, survey area, survey label
satScoreOverall yield score, Rabi score, Kharif score, base score
farmerCroppingHistorySeason-wise crop performance, potential yield, district threshold yield, and MSP
baseScoreParametersCropping intensity, irrigation condition, land use type
regionalParametersNearest mandi/water body/road-rail, soil type, drought history, village population, temperature range, agro-ecological zone
neighboringGeometryLocation and direction of adjacent land parcels
unitsUnits used for area, distance, yield, and temperature
signatureDigital signature of the response data
hmacSHA-256 hash of the response data
publickeyPlatform 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

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article