XML 28 R47.htm IDEA: XBRL DOCUMENT v2.4.1.9
Loans and Allowance for Losses and Concentrations of Credit Risk - Allowance for Losses by Impairment Method and Commodity (Details) (USD $)
In Thousands, unless otherwise specified
Mar. 31, 2015
Dec. 31, 2014
Mar. 31, 2014
Dec. 31, 2013
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment $ 5,258,513us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment $ 5,334,737us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment    
Financing Receivable, Individually Evaluated for Impairment 88,735us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment 82,437us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment    
Financing Receivable, Gross 5,347,248us-gaap_NotesReceivableGross [1],[2] 5,417,174us-gaap_NotesReceivableGross [1],[2]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 6,476us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment 7,490us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment    
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 2,955us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 2,637us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1    
Financing Receivable, Allowance for Credit Losses 9,431us-gaap_FinancingReceivableAllowanceForCreditLosses 10,127us-gaap_FinancingReceivableAllowanceForCreditLosses 13,979us-gaap_FinancingReceivableAllowanceForCreditLosses 13,334us-gaap_FinancingReceivableAllowanceForCreditLosses
Crops [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 2,907,812us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_CropsMember
2,926,501us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Individually Evaluated for Impairment 21,164us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_CropsMember
14,765us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Gross 2,928,976us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_CropsMember
[1] 2,941,266us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_CropsMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 2,000us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_CropsMember
2,122us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 640us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_CropsMember
397us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Allowance for Credit Losses 2,640us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_CropsMember
2,519us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_CropsMember
2,278us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_CropsMember
2,124us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_CropsMember
Permanent Plantings [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 867,884us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
881,052us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Individually Evaluated for Impairment 41,204us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
39,143us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Gross 909,088us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
[1] 920,195us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 675us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
644us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 1,609us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
1,515us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Allowance for Credit Losses 2,284us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
2,159us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
2,131us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
2,186us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
Livestock [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 1,206,945us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_LivestockMember
1,245,335us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Individually Evaluated for Impairment 14,789us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_LivestockMember
15,283us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Gross 1,221,734us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_LivestockMember
[1] 1,260,618us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_LivestockMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 994us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_LivestockMember
1,062us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 349us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_LivestockMember
361us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Allowance for Credit Losses 1,343us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_LivestockMember
1,423us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_LivestockMember
1,387us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_LivestockMember
1,271us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_LivestockMember
Part-Time Farm [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 157,839us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
160,708us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Individually Evaluated for Impairment 11,578us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
13,246us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Gross 169,417us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
[1] 173,954us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 102us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
103us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 357us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
364us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Allowance for Credit Losses 459us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
467us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
464us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
454us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
Agriculture Storage and Processing [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 110,367us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
114,360us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
   
Financing Receivable, Individually Evaluated for Impairment 0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
   
Financing Receivable, Gross 110,367us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
[1] 114,360us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 2,698us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
3,552us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
   
Financing Receivable, Allowance for Credit Losses 2,698us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
3,552us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
7,715us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
7,292us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
Other Commodity [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 7,666us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
6,781us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
   
Financing Receivable, Individually Evaluated for Impairment 0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
   
Financing Receivable, Gross 7,666us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
[1] 6,781us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 7us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
7us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
   
Financing Receivable, Allowance for Credit Losses 7us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
7us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
4us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
7us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
On-balance sheet [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 2,497,509us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
2,473,780us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
   
Financing Receivable, Individually Evaluated for Impairment 73,403us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
66,442us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
   
Financing Receivable, Gross 2,570,912us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
[1] 2,540,222us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 3,284us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
3,531us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 2,656us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
2,333us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
   
Financing Receivable, Allowance for Credit Losses 5,940us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
5,864us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
   
On-balance sheet [Member] | Crops [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 1,642,496us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
1,621,360us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Individually Evaluated for Impairment 18,706us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
12,307us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Gross 1,661,202us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
[1] 1,633,667us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 1,726us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
1,824us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 517us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
283us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Allowance for Credit Losses 2,243us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
2,107us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
On-balance sheet [Member] | Permanent Plantings [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 367,380us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
359,517us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Individually Evaluated for Impairment 38,030us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
35,904us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Gross 405,410us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
[1] 395,421us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 520us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
495us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 1,502us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
1,410us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Allowance for Credit Losses 2,022us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
1,905us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
On-balance sheet [Member] | Livestock [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 402,478us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
406,049us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Individually Evaluated for Impairment 6,178us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
6,571us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Gross 408,656us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
[1] 412,620us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 654us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
658us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 317us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
328us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Allowance for Credit Losses 971us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
986us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
On-balance sheet [Member] | Part-Time Farm [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 57,995us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
57,851us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Individually Evaluated for Impairment 10,489us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
11,660us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Gross 68,484us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
[1] 69,511us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 49us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
51us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 320us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
312us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Allowance for Credit Losses 369us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
363us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
On-balance sheet [Member] | Agriculture Storage and Processing [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 25,800us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
29,003us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
   
Financing Receivable, Individually Evaluated for Impairment 0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
   
Financing Receivable, Gross 25,800us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
[1] 29,003us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 335us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
503us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
   
Financing Receivable, Allowance for Credit Losses 335us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
503us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
   
On-balance sheet [Member] | Other Commodity [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 1,360us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
0us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
   
Financing Receivable, Individually Evaluated for Impairment 0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
   
Financing Receivable, Gross 1,360us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
[1] 0us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
   
Financing Receivable, Allowance for Credit Losses 0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
0us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
   
Off-balance sheet [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 2,761,004us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
2,860,957us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
   
Financing Receivable, Individually Evaluated for Impairment 15,332us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
15,995us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
   
Financing Receivable, Gross 2,776,336us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
[1] 2,876,952us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 3,192us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
3,959us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 299us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
304us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
   
Financing Receivable, Allowance for Credit Losses 3,491us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
4,263us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
   
Off-balance sheet [Member] | Crops [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 1,265,316us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
1,305,141us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Individually Evaluated for Impairment 2,458us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
2,458us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Gross 1,267,774us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
[1] 1,307,599us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 274us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
298us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 123us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
114us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Allowance for Credit Losses 397us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
412us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Off-balance sheet [Member] | Permanent Plantings [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 500,504us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
521,535us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Individually Evaluated for Impairment 3,174us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
3,239us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Gross 503,678us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
[1] 524,774us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 155us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
149us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 107us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
105us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Allowance for Credit Losses 262us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
254us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Off-balance sheet [Member] | Livestock [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 804,467us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
839,286us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Individually Evaluated for Impairment 8,611us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
8,712us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Gross 813,078us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
[1] 847,998us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 340us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
404us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 32us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
33us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Allowance for Credit Losses 372us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
437us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Off-balance sheet [Member] | Part-Time Farm [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 99,844us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
102,857us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Individually Evaluated for Impairment 1,089us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
1,586us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Gross 100,933us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
[1] 104,443us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 53us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
52us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 37us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
52us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Allowance for Credit Losses 90us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
104us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Off-balance sheet [Member] | Agriculture Storage and Processing [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 84,567us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
85,357us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
   
Financing Receivable, Individually Evaluated for Impairment 0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
   
Financing Receivable, Gross 84,567us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
[1] 85,357us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 2,363us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
3,049us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
   
Financing Receivable, Allowance for Credit Losses 2,363us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
3,049us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
   
Off-balance sheet [Member] | Other Commodity [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 6,306us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
6,781us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
   
Financing Receivable, Individually Evaluated for Impairment 0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
   
Financing Receivable, Gross 6,306us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
[1] 6,781us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 7us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
7us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
   
Financing Receivable, Allowance for Credit Losses $ 7us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
$ 7us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
   
[1] Amounts represent unpaid principal balance of risk-rated loans, which is the basis Farmer Mac uses to analyze its portfolio, and recorded investment of past due loans.
[2] Geographic regions: Northwest (AK, ID, MT, OR, WA, WY); Southwest (AZ, CA, CO, HI, NM, NV, UT); Mid-North (IA, IL, IN, MI, MN, NE, ND, SD, WI); Mid-South (AR, KS, LA, MO, OK, TX); Northeast (CT, DE, KY, MA, MD, ME, NH, NJ, NY, OH, PA, RI, VA, VT, WV); Southeast (AL, FL, GA, MS, NC, SC, TN).