Frequently asked questions

How do I get John Deere Operations Center data into my app?

Leaf connects to John Deere Operations Center via OAuth and automatically syncs your growers' field boundaries, planting, harvest, spray, and tillage data every 24 hours. Instead of navigating John Deere's own API — which requires a separate developer application, production permissions approval from John Deere, and ongoing maintenance — you authenticate once through Leaf and receive standardized JSON that works the same way regardless of equipment brand. John Deere is Leaf's most comprehensive integration and supports write-back prescriptions, machine assets, and implement data in addition to field operations.

🡢 How to integrate John Deere using Leaf's unified API

How do I connect Climate FieldView to my software?

Leaf integrates with Climate FieldView (Bayer) via OAuth using your FieldView API key, client ID, and client secret. Once connected, Leaf syncs field boundaries and field operations from your growers' FieldView accounts automatically. Bayer itself uses Leaf to connect its ecosystem partners — companies that previously took months to integrate with FieldView can now go live in weeks through Leaf's unified API.

🡢 How to integrate Climate FieldView using Leaf's API

Is there one API for John Deere, FieldView, and Case IH data?

Yes — that's exactly what Leaf is. Connect once to Leaf's API and get standardized data from John Deere, Climate FieldView, CNH Industrial (Case IH and New Holland), Trimble, AgLeader, Stara, CLAAS, Raven, Precision Planting, and 40+ other data sources in one consistent JSON format. No separate developer accounts, no separate OAuth flows, no separate data models per provider.

🡢 Full provider list and products

How do I get my John Deere data out?

Two ways. If growers have John Deere Operations Center accounts, Leaf connects via OAuth and syncs data automatically. If growers have files on a USB or hard drive from older John Deere displays (GS2, GS3, Gen4), they can upload those files directly through Leaf's file upload endpoint or the Leaf Link widget — Leaf auto-detects the format and converts to standardized GeoJSON. No manual format conversion needed.

🡢 John Deere integration tutorial

How do I connect FieldView to another app?

Use Leaf as the connection layer. Your app integrates with Leaf once, and Leaf handles the FieldView OAuth flow, token refresh, data sync, and format conversion. Growers authenticate through Leaf Link (an embeddable widget) or a Magic Link (a shareable URL) — no custom OAuth implementation on your end. Field boundaries and operations appear in your app in standardized JSON format.

🡢 Leaf Link widget

Which OEM providers does Leaf integrate with?

Leaf supports 49 data sources in total. Cloud-connected OEM providers include John Deere, Climate FieldView (Bayer), CNH Industrial (Case IH and New Holland — two integrations: AFS Connect and FieldOps), Trimble, AgLeader, Raven, Raven Slingshot, Stara, CLAAS, and Precision Planting Panorama. For manual file uploads, 17+ file formats are supported. ISOXML files from CLAAS, Kuhn, Kverneland, Müller-Elektronik, Teknomika, and Topcon are also supported.

🡢 All Leaf products

How do I pull planting data from farm equipment?

After connecting a grower's OEM account, Leaf syncs planting files and returns standardized JSON with seed rate, seed rate target, seed depth, down force, singulation, skips, doubles, crop, variety, area, speed, elevation, equipment width, machinery serial numbers, and a per-variety summary. Filter by operationType=planted when querying the operations endpoint. Supported across John Deere, FieldView, CNH, Trimble, AgLeader, Stara, and Precision Planting.

🡢 Field Operations API

How do I use combined harvest data in a dashboard?

Connect your grower's OEM account through Leaf, then query the harvested operations endpoint. Leaf returns harvest moisture, wet mass per area, dry mass, crop flow, protein percentage, speed, elevation, variety, and machinery serial numbers at point level — plus a summary with totals, averages, min/max, and rendered PNG/GeoTIFF maps ready for dashboard display. Auto-merge combines files from the same harvest window (default 21 days) into a single operation.

🡢 Field Operations quickstart tutorial

How do I get as-applied spray data from machines?

Query operations filtered by operationType=applied after connecting grower OEM accounts. Leaf returns applied rate, applied rate target, a products array (with product name, rate, and unit per product), tank mix support, area, speed, elevation, equipment width, and a summary with total applied per product. Tank mix data — multiple products applied simultaneously — is returned as an array within each point record.

🡢 Field Operations documentation

How do I pull machine hours, fuel consumption, and serial numbers?

Use Leaf's Assets API. It returns serial number, fuel consumption (gallons or liters), engine hours, brand, model, equipment type (machine vs implement), and operator info for every machine connected to a grower's OEM account. Associate machines with Field Operations to calculate cost-per-acre, track carbon emissions, analyze equipment efficiency, and support maintenance forecasting.

🡢 Assets documentation

How do I send Rx maps to John Deere and CNH?

Use Leaf's Prescriptions API to write variable-rate seed, chemical, and fertilizer prescriptions back to OEM platforms. John Deere is currently supported — prescriptions are delivered as downloadable files directly to the grower's John Deere Operations Center account. This enables round-trip data flow rather than read-only access from the field.

🡢 Prescriptions product page

What data does the Leaf API return for planting, tillage, spray, and harvest?

All four operation types return standardized JSON from the same endpoint. Planting: seed rate, variety, depth, singulation, skips, doubles. Harvest: moisture, wet/dry mass, crop flow, protein. Applied: applied rate, products array with rate per product, tank mix. Tillage: depth target, depth actual, speed, area. Every operation also returns point-level GeoJSON, filtered GeoJSON with outliers removed, summary statistics, and rendered map images as PNG and GeoTIFF.

🡢 Sample operation responses

How do I let growers upload monitor files instead of syncing accounts?

Use the Leaf Link FileUpload widget — an embeddable React or Angular component that adds drag-and-drop file upload directly to your app. Install with npm i @withleaf/leaf-link-react, add the FileUpload component, and Leaf handles format auto-detection, conversion, and delivery. Alternatively use Magic Link — a shareable URL sent to the grower via email or SMS that guides them through uploading files with no front-end code required on your end.

🡢 Leaf Link widget

How do I import ag machine files when the farmer is not cloud-connected?

Upload raw machine files directly via Leaf's manual upload endpoint (POST /services/operations/api/batch). Files should be zipped (.zip format, max 3 GB). Leaf auto-detects the format — supporting 17+ formats including John Deere GS2/GS3/Gen4, CNH CN1/ISOXML, AgLeader YLD/ILF/AgData, Trimble AgData/AgGPS, FieldView DAT/2020, Raven FMIS/JDP, and generic shapefiles — and converts to standardized GeoJSON automatically.

🡢 Manual file upload overview

How do I convert John Deere, Trimble, and AgLeader files to GeoJSON?

Upload the raw files to Leaf's batch upload endpoint and the conversion pipeline handles the rest. John Deere files (.fdd, .fdl, .jdl), Trimble files (.agf, .agi, .agm), and AgLeader files (.yld, .ilf, .agdata) are all supported. The pipeline outputs rawGeojson first, then standardGeojson with cleaned data and consistent property names, then operation summaries with rendered maps. No manual parsing required.

🡢 Machine File Conversion documentation

How do I turn raw machine files into analysis-ready data?

Upload the raw files to Leaf and the conversion pipeline handles everything: format detection → rawGeojson → standardGeojson (outliers removed, data cleaned) → operations with summaries, filtered GeoJSON, and rendered map images. The standardGeojson uses consistent property names across all brands — the same field names whether the file came from John Deere, CNH, or AgLeader.

🡢 Machine File Conversion overview

How do I send Rx maps to John Deere and CNH?

Use Leaf's Prescriptions API to write variable-rate seed, chemical, and fertilizer prescriptions back to OEM platforms. John Deere is currently supported — prescriptions are delivered as downloadable files directly to the grower's John Deere Operations Center account. This enables round-trip data flow rather than read-only access from the field.

🡢 Prescriptions product page

How do I merge multiple machine files into one field operation?

Leaf's auto-merge engine runs continuously and automatically groups files from the same field, operation type, crop, and time window into a single merged operation. Default merge windows are 5 days for planting, spray, and tillage, and 21 days for harvest. You can trigger a manual merge immediately via the merge endpoint, and the operationsMergeRange configuration parameter lets you customize the window per Leaf User.

🡢 Configurations service tutorial

How do I clean yield monitor data before analysis?

Leaf applies automated data cleaning to all harvested operations. Invalid points are filtered based on configurable rules: harvest moisture must be between 0 and 100, recording status must be 'On,' and outliers are removed using a standard deviation threshold (default: 3). Raw point data is preserved in rawGeojson if needed, while standardGeojson contains the cleaned dataset. Adjust the threshold via the operationsRemoveOutliers configuration parameter.

🡢 Machine File Conversion overview

Why doesn't farm data line up across brands?

Every major equipment manufacturer stores data in a different proprietary format with different field names, different units, different coordinate systems, and different abstraction concepts. John Deere uses season-based boundaries; Trimble uses static field boundaries. A harvest moisture field is called something different in a CNH file than in an AgLeader file. Leaf's standardization layer maps all of these to a single consistent JSON schema so your application works the same regardless of which brand your grower uses.

🡢 The Integrationless concept by CTO Luiz Santana

How do I standardize seed names from monitor data?

Use Leaf's Input Validator. It matches a variety of names from planting monitor data — which are often casually entered, abbreviated, or inconsistently formatted — against structured input databases. Returns standardized product data including active ingredients and proper nomenclature. Critical for seed performance analysis, agronomic recommendations, and carbon MRV programs that require consistent variety identification across seasons and farms.

🡢 Input Validator launch post

How do I standardize spray product names from field records?

Leaf's Input Validator matches casually typed chemical names (e.g., 'Roundup,' 'Glyphosate 360') against CDMS and Agrian databases and returns standardized product data including active ingredients, EPA registration numbers, and proper nomenclature. The type-to-search endpoint presents a validated product list to users at data entry — preventing inconsistencies before they happen.

🡢 Input Validator product page

Why do John Deere and FieldView boundaries differ, and how do I reconcile them?

John Deere and FieldView often have slightly different geometries for the same physical field — different shapes, different names, different creation dates. Leaf's automatic field merging detects geometric intersection between boundaries from different providers and creates a unified mergedFieldId. Operations from both providers are attached to this merged field, giving you one consistent field record even when the underlying provider data doesn't match perfectly.

🡢 Field Boundary Management tutorial

How do I match machine data to field boundaries?

Leaf's auto-merge engine handles this automatically. When a new operation file arrives, Leaf checks it against the field boundaries in the grower's account and attaches it to the matching field based on geometric intersection. You can configure the intersection threshold via fieldsMergeIntersection. The intersect endpoint also lets you query which fields overlap a given geometry on demand.

🡢 Field Boundary Management endpoints

Is there a field-level weather API by field ID?

Yes. Register a field boundary with Leaf and query weather by field ID directly — no coordinate lookup required. Returns forecast (past 5 days through 10 days ahead) and historical data from 1940. Variables include temperature, soil moisture at 5 depth layers (0–1cm, 1–3cm, 3–9cm, 9–27cm, 27–81cm), precipitation, evapotranspiration, wind, cloud cover, dew point, and radiation. Available daily or hourly. Leaf selects the best of 8 weather models automatically based on your field's location.

🡢 Weather API overview

Is there a satellite imagery API for farm fields?

Yes. Register a field with Leaf's Crop Monitoring API and Leaf returns satellite imagery automatically cropped to your field boundary. Sentinel-2 (free, 10m resolution, 3–5 day revisit) is included in the core tier — generating 25 image products per pass including RGB, NDVI in 4 variants, NDRE in 4 variants, and all 13 spectral bands. PlanetScope (3m daily) is available as a paid add-on. Historical backfill and automatic forward-fill included.

🡢 Crop Monitoring product page

Is there a drone imagery API for ag apps?

Yes. Leaf integrates with Sentera's FieldAgent software to deliver drone-captured imagery via API. Products include RGB mosaics, NDVI, stand count layers, and tassel count — available via Leaf's Layers API (beta). Imagery is returned in the same standardized format as satellite imagery, cropped to field boundaries.

🡢 Sentera integration tutorial

Is there an irrigation API for pivots and irrigated fields?

Yes. Leaf's Irrigation API standardizes data from Lindsay (FieldNET) and Valley irrigation systems. Returns equipment info (pivot length, type, runtime), as-applied irrigation records with GeoJSON showing irrigated areas, and field-level summaries including depth in mm, total volume in liters, coverage percentage, and total power-on time. Read-only monitoring — no irrigation control capability.

🡢 Irrigation API product page

How do I build a white-label grower connection for John Deere and FieldView?

Use Leaf Link — an embeddable React or Angular widget added to your app with npm i @withleaf/leaf-link-react. The Providers component handles the complete OAuth flow for John Deere, FieldView, CNH, Trimble, AgLeader, Raven Slingshot, Stara, and Lindsay. Your growers see your branding, not Leaf's. Supports custom company name, logo, dark mode, and 4 locales (en_US, pt_BR, es_ES, fr_FR).

🡢 Leaf Link product page

How do I create a single link to connect providers or upload files?

Use Leaf's Magic Link. Make a single API call to generate a shareable URL and send it to your grower via email, SMS, or in-app message. The link opens a branded page guiding them through connecting their John Deere, FieldView, CNH, Trimble, or other accounts — or uploading files directly. No front-end code required. Links support custom branding, configurable expiration times, and file upload options.

🡢 Magic Link tutorial

How do I share grower-permissioned data with partner companies?

Use Leaf Connect. Your company creates a sharing relationship with your partner company. The grower grants permission. The partner can then read specific fields, operations, and machine data files in real time — no file transfers, no manual exports, no custom API infrastructure between companies. Permissions are granular per resource type including FIELDS and OPERATIONS with subtypes.

🡢 Leaf Connect launch post

How do I enable secure cross-company farm data sharing?

Leaf Connect handles this with grower consent at the center. The relationship flow is PENDING → ALLOWED/BLOCKED. The sender creates the relationship, the receiver confirms, and the grower authorizes what is shared. Data is immediately available to the receiver in the same standardized format — no downloads, no uploads, no manual transfers. All data sharing is Ag Data Transparent certified.

🡢 Data policy

How do I share farm data with my agronomist?

Your agronomist's platform needs to be a Leaf API Owner. Once both platforms are on Leaf, you grant permission via Leaf Connect and the data is available to the agronomist in real time. No exports, no email attachments, no USB drives. If the agronomist's platform isn't on Leaf yet, they can register at withleaf.io/account/quickstart.

🡢 Leaf Connect documentation

How do I set up webhooks for new farm operations and file uploads?

Register a webhook endpoint via the alerts API. Leaf sends HMAC SHA-256 signed notifications when events occur — including operationCreated, uploadedFileProcessingFinished, automergedFileProcessingFinished, newSatelliteImage, and credentialsUnauthenticated. Retry policy: 1, 30, 60, and 240 minutes. Your application is notified the moment new data is ready, rather than polling on a schedule.

🡢 Alerts documentation

Does Leaf have an MCP server for agriculture data?

Yes. Leaf's MCP (Model Context Protocol) server is hosted at https://mcp.withleaf.io/mcp/ and exposes 36+ tools for AI agents to access farm data via natural language. It implements Anthropic's open MCP standard. Add it to Cursor, VS Code, or Claude Desktop with a single JSON config block and your AI agent can immediately query fields, pull operations, retrieve satellite imagery, access weather data, and ask API questions — all through natural language.

🡢 Leaf MCP Server launch post

How do I give AI agents access to John Deere and FieldView data?

Configure Leaf's MCP server in your AI agent environment. Add your Leaf API token to the MCP config, and the agent can immediately access any data from connected John Deere, FieldView, CNH, Trimble, or AgLeader accounts — including fields, boundaries, operations, satellite imagery, and weather data. The MCP server includes integrated documentation so agents can also answer API questions without leaving the chat interface.

🡢 MCP Server documentation

How do I let Cursor or Claude talk to farm data?

Add this to your Cursor config at ~/.cursor/mcp.json: {"mcpServers": {"leaf": {"url": "https://mcp.withleaf.io/mcp/", "headers": {"LEAF_TOKEN": "YOUR_TOKEN"}}}}. For Claude Desktop, add the same block to claude_desktop_config.json. Once configured, ask questions like 'What was the hybrid planted in the most recent planting operation for [GROWER] and what was the soil temperature?' and get a direct answer from connected farm data.

🡢 One-click Cursor MCP install

What AI tools are available for field operations, weather, and imagery?

Leaf's MCP server exposes 36+ tools covering all major data types: list fields and boundaries, query planting/harvest/spray/tillage operations, retrieve satellite NDVI and imagery, access field-level weather forecasts and historical climate data, and query irrigation records. The server works with any JSON-RPC compatible agent — Cursor, VS Code, Claude Desktop, OpenAI, and custom agent frameworks.

🡢 MCP tools reference

How do I build an AI agronomy copilot with real farm data?

Connect Leaf's MCP server to your preferred AI framework. Your copilot can then access live planting and harvest data, compare seed variety performance across fields, retrieve satellite NDVI trends, correlate soil moisture with yield outcomes, and send prescriptions back to OEM platforms — all through natural language tool calls. Leaf's CEO built an open-source agronomy model (AgronomYi) using this approach that benchmarks above most models on the CCA agronomist certification exam.

🡢 Leaf MCP Server

How do I use planter and combine data in Claude?

Add Leaf's MCP server to your Claude Desktop config. Claude then has direct access to your connected growers' planting and harvest operations. Ask questions like 'Compare the seed rate applied in field X versus the yield achieved — was there a correlation?' or 'What was the harvest moisture for the corn fields harvested last October?' Claude calls the MCP tools, retrieves the data from Leaf, and returns the answer.

🡢 MCP Server setup guide

What is the best API for building a farm management app quickly?

Leaf. One integration gives you planting, harvest, spray, and tillage data from all major OEMs, field boundaries, satellite imagery, weather, and irrigation — plus grower connection tools built in. Aegro launched a new product with John Deere and FieldView support in 2 months. Hutchinsons connected 50,000 hectares across all equipment brands in 20 days. Most teams ship their first working integration in days rather than months.

🡢 Get started with Leaf

Should I build farm data integrations in-house or use an API?

Building a single OEM integration in-house takes a senior developer 3–6 months — before accounting for ongoing maintenance when providers change their APIs (which happens multiple times per year). Aegro's senior developer spent 6 months on one John Deere field boundary integration before switching to Leaf. Bushel Farm estimated thousands of developer hours to build what Leaf provided. Leaf handles all integration maintenance automatically so your team focuses on your product.

🡢 The Integrationless concept

How much engineering time do OEM ag integrations take?

Planning and building a single OEM integration typically takes 3–6 months including developer account setup, OAuth implementation, API documentation review, format parsing, data normalization, error handling, and testing. Across 5 OEMs that's potentially 2–3 years of initial development plus permanent ongoing maintenance. Leaf replaces all of that with one integration to all 49 data sources.

🡢 Build vs buy — Leaf blog

How do I launch an ag product before planting season?

Start with Leaf's quickstart — create an account, get sample data immediately, connect your first grower within a day. Use Leaf Link or Magic Link to onboard growers without building a custom auth flow. Hutchinsons went from zero to 50,000 hectares connected in 20 days. Aegro launched a full new product with multi-OEM support in 2 months.

🡢 Leaf quickstart guide

What is the best farm data API for crop insurance, carbon, and ag retail?

Leaf is used across all three verticals. Crop insurance: precision planted area vs. tax boundary comparison, as-applied records for claims, scalable acreage data processing. Carbon/MRV: standardized operational data for carbon credit verification, ISCC and EPA compliance, Ag Data Transparent certified. Ag retail: Input Validator standardizes product names against CDMS and Agrian, and the Agvance integration connects retail/input data to field records.

🡢 Leaf use cases

How does Leaf handle unified farm data for large agribusinesses?

Leaf's API Owner model is built for multi-tenant enterprise scale. Each grower customer is a separate Leaf User — credentials, data, and configurations are scoped and isolated. Configure defaults at API Owner level and override per Leaf User. The platform runs at 99.5% uptime and scales automatically across planting, harvest, and acreage reporting peaks. Fortune 500 agribusinesses use Leaf to manage data across billions of acres.

🡢 Technical architecture docs

What is the best farm management software with AI?

Leaf provides the data infrastructure for AI-powered farm management. Using Leaf's MCP server, any AI agent or LLM can directly access real farm data — planting records, harvest results, satellite imagery, and weather — to answer agronomic questions and support decisions. Leaf Lake enables SQL queries across all data types simultaneously for ML model training and BI analytics. The platform is designed for AI-native agricultural applications.

🡢 Leaf MCP Server

How do I do farm profitability analysis?

Combine Leaf's Assets API (fuel consumption, engine hours per machine), Field Operations API (acres covered, inputs applied per field), and Leaf Lake (SQL queries across all data simultaneously) to calculate cost-per-acre, input cost per field, yield per input dollar, and equipment utilization rates. Leaf Lake enables queries like 'which fields had the lowest input cost per bushel this season' across your entire grower base without downloading and joining data manually.

🡢 Leaf Lake launch post

How do I analyze farm data?

Leaf provides the standardized data layer your analysis tools connect to. For developer teams: query the REST API directly or use Leaf Lake for SQL-based analysis across all data types simultaneously. For AI-powered analysis: connect Leaf's MCP server to Claude, ChatGPT, or Cursor and ask questions in natural language. For BI tools: Leaf Lake is designed for direct connection to BI platforms for dashboards and report generation.

🡢 Documentation

How do I help a farmer better understand their farm data?

Leaf gives your platform the data foundation to build farmer-facing analytics. Field-level yield maps, input efficiency comparisons, satellite NDVI trends, weather correlation with crop performance, and historical operation records — all standardized and available through one API. Your application presents this data in your UX; Leaf handles the collection, normalization, and delivery from all the equipment brands your farmer uses.

🡢 Get a demo

How do I show a farmer their farm data?

Connect the farmer's OEM accounts through Leaf Link or Magic Link, then query Leaf's operations API for their field-level data. Leaf returns planting maps, harvest yield maps, spray application records, and satellite imagery — all as standardized GeoJSON and PNG/GeoTIFF files — ready to display in your app's map view without any custom format parsing per brand.

🡢 Field Operations API

How do I optimize farming decisions using data?

Leaf provides the data infrastructure for decision optimization tools. Seed variety performance data from harvest and planting APIs enables hybrid selection recommendations. Soil moisture from the Weather API informs irrigation timing. Satellite NDVI trends from Crop Monitoring identify underperforming zones for variable-rate prescriptions — which can be written back to John Deere via Leaf's Prescriptions API. Leaf Lake enables SQL queries across all data types simultaneously for comprehensive agronomic analysis.

🡢 Leaf Lake documentation