XML 21 R78.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
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Dec. 31, 2011
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment $ 5,334,737us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment $ 5,068,039us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment    
Financing Receivable, Individually Evaluated for Impairment 82,437us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment 95,041us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment    
Financing Receivable, Gross 5,417,174us-gaap_NotesReceivableGross [1],[2] 5,163,080us-gaap_NotesReceivableGross [1],[2]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 7,490us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment 10,638us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment    
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 2,637us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 2,696us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1    
Financing Receivable, Allowance for Credit Losses 10,127us-gaap_FinancingReceivableAllowanceForCreditLosses 13,334us-gaap_FinancingReceivableAllowanceForCreditLosses 16,890us-gaap_FinancingReceivableAllowanceForCreditLosses 17,516us-gaap_FinancingReceivableAllowanceForCreditLosses
Crops [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 2,926,501us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_CropsMember
2,643,748us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Individually Evaluated for Impairment 14,765us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_CropsMember
23,109us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Gross 2,941,266us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_CropsMember
[1] 2,666,857us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_CropsMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 2,122us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_CropsMember
1,718us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 397us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_CropsMember
406us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Allowance for Credit Losses 2,519us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_CropsMember
2,124us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_CropsMember
2,589us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_CropsMember
 
Permanent Plantings [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 881,052us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
862,969us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Individually Evaluated for Impairment 39,143us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
44,855us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Gross 920,195us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
[1] 907,824us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 644us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
484us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 1,515us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
1,702us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Allowance for Credit Losses 2,159us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
2,186us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
2,316us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
 
Livestock [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 1,245,335us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_LivestockMember
1,232,062us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Individually Evaluated for Impairment 15,283us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_LivestockMember
14,043us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Gross 1,260,618us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_LivestockMember
[1] 1,246,105us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_LivestockMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 1,062us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_LivestockMember
1,078us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 361us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_LivestockMember
193us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Allowance for Credit Losses 1,423us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_LivestockMember
1,271us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_LivestockMember
1,534us-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 160,708us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
149,824us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Individually Evaluated for Impairment 13,246us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
12,919us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Gross 173,954us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
[1] 162,743us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 103us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
62us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 364us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
392us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Allowance for Credit Losses 467us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
454us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
784us-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 114,360us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
170,918us-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 114,360us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
[1] 170,918us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 3,552us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
7,292us-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 3,552us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
7,292us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
9,661us-gaap_FinancingReceivableAllowanceForCreditLosses
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
 
Other Commodity [Member]        
Financing Receivable, Allowance for Credit Loss, Additional Information [Abstract]        
Financing Receivable, Collectively Evaluated for Impairment 6,781us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
8,518us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
   
Financing Receivable, Individually Evaluated for Impairment 0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
115us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
   
Financing Receivable, Gross 6,781us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
[1] 8,633us-gaap_NotesReceivableGross
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 7us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
4us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
3us-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
6us-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,473,780us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
2,051,498us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
   
Financing Receivable, Individually Evaluated for Impairment 66,442us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
83,969us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
   
Financing Receivable, Gross 2,540,222us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
[1] 2,135,467us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 3,531us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
4,392us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 2,333us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
2,474us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
   
Financing Receivable, Allowance for Credit Losses 5,864us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
6,866us-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,621,360us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
1,363,861us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Individually Evaluated for Impairment 12,307us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
21,147us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Gross 1,633,667us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
[1] 1,385,008us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 1,824us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
1,321us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 283us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
362us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Allowance for Credit Losses 2,107us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
1,683us-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 359,517us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
295,037us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Individually Evaluated for Impairment 35,904us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
41,441us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Gross 395,421us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
[1] 336,478us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 495us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
325us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 1,410us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
1,641us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Allowance for Credit Losses 1,905us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
1,966us-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 406,049us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
319,665us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Individually Evaluated for Impairment 6,571us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
10,844us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Gross 412,620us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
[1] 330,509us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 658us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
436us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 328us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
140us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Allowance for Credit Losses 986us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
576us-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,851us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
39,940us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Individually Evaluated for Impairment 11,660us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
10,422us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Gross 69,511us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
[1] 50,362us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 51us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
20us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 312us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
331us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Allowance for Credit Losses 363us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
351us-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 29,003us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
32,636us-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 29,003us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
[1] 32,636us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 503us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
2,290us-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 503us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
2,290us-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 0us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
359us-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
115us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
   
Financing Receivable, Gross 0us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OnBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
[1] 474us-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,860,957us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
3,016,541us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
   
Financing Receivable, Individually Evaluated for Impairment 15,995us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
11,072us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
   
Financing Receivable, Gross 2,876,952us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
[1] 3,027,613us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 3,959us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
6,246us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 304us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
222us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
   
Financing Receivable, Allowance for Credit Losses 4,263us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
6,468us-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,305,141us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
1,279,887us-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
1,962us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Gross 1,307,599us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
[1] 1,281,849us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 298us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
397us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 114us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
44us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
   
Financing Receivable, Allowance for Credit Losses 412us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_CropsMember
441us-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 521,535us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
567,932us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Individually Evaluated for Impairment 3,239us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
3,414us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Gross 524,774us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
[1] 571,346us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 149us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
159us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 105us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
61us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
   
Financing Receivable, Allowance for Credit Losses 254us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PermanentPlantingsMember
220us-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 839,286us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
912,397us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Individually Evaluated for Impairment 8,712us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
3,199us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Gross 847,998us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
[1] 915,596us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 404us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
642us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 33us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
53us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
   
Financing Receivable, Allowance for Credit Losses 437us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_LivestockMember
695us-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 102,857us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
109,884us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Individually Evaluated for Impairment 1,586us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
2,497us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Gross 104,443us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
[1] 112,381us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 52us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
42us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment 52us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
61us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
   
Financing Receivable, Allowance for Credit Losses 104us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_PartTimeFarmMember
103us-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 85,357us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
138,282us-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 85,357us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
[1] 138,282us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
[1]    
Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment 3,049us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
5,002us-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 3,049us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_AgricultureStorageAndProcessingMember
5,002us-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,781us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
8,159us-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,781us-gaap_NotesReceivableGross
/ us-gaap_BalanceSheetLocationAxis
= agm_OffBalanceSheetMember
/ agm_CommodityByTypeAxis
= agm_OtherCommodityMember
[1] 8,159us-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
4us-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
3us-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).