Based on a previous question, Can I download the entire NRCS SSURGO database?, it appears that it is difficult to import the entire USDA SSURGO database.

The Web Soil Survey provides the ability to draw a polygon and then download data. But the polygon has to be fairly small, and there is a lot of pointing, clicking, and waiting to get the desired data. There is also a Geospatial data gateway where it is possible download county-level data.

However, these do not meet my needs. This is what I want to do:

  1. I start with the lat/lon coordinates of the corners of a rectangle
  2. find the area of each soil type in the rectangle
  3. find % clay, sand, silt, organic matter as a function of depth for each soil type

Is there a way that I can do this programatically?

(Solutions in R preferred, but any open-source solution will be useful)

  • Please keep in mind that the Web Soil Survey has always updated their site so there will be new features show up new.
    Commented Apr 23, 2014 at 15:03

4 Answers 4


Can download SSURGO data by State:

enter image description here

Downloading the entire

Order Area (Where):All counties, Alaska Order Map Layers (What): Soil Survey Spatial and Tabular Data (SSURGO 2.2)

444.310 Megabytes, 25 Maps Order Format (How):One ESRI Shape Order Projection (How):Geographic WGS84 Order Inclusion (How):Standard Order Delivery Method (How):FTP

Note: The format choices 'One Esri Shape' and 'One ESRI File GeoDataBase Feature Class' combine all features in a layer into a single shape or feature class instead of one for each HUC or county. See Help.

So would be easier to merge into US dataset.

The reason there is no web API is the size of some of the datasets.

You will have to load them into your own spatial database (postgis) and use a GIS (QGIS) or use your R skills to pull stats out of your database.

  • Is this still true? When attempting to download SSURGO for all of Alaska, my only option is gSSURGO, which is in ArcGIS format. I'm not seeing an option to download it in shapefile format.
    – elynnaie
    Commented Mar 21, 2013 at 14:30
  • They have updated their website with a notice soildatamart.nrcs.usda.gov
    – Mapperz
    Commented Mar 21, 2013 at 14:59
  • Yes, it would be much easier download by state and normally it is hard for one to download by using lat/long like what Mapperz was saying here.
    Commented Apr 23, 2014 at 15:06
  • Don't forget to add the database to join with the dataset since it has the attribute for all of the map units necessary.
    Commented Apr 23, 2014 at 15:09

You have a couple of options:

  1. For an R-based solution, see the AQP family of packages, in particular "soilDB"

  2. The "soil data access" website 2 provides a limited SQL interface to the SSURGO tabular data. The SDA_query() function from the soilDB R package provides a simple interface to this web service. There is a couple of tutorials 3 on the topic at the AQP website.

I will be posting details on downloading and loading the entire SSURGO database into PostGIS later this year. Note that most of the solutions above rely on SoilWeb, which is based on a an annual snapshot of SSURGO. SoilWeb will be in sync with FY2014 data later this week.

Update 2018-10-27: I still haven't finish the PostgreSQL instructions, planning on getting to it eventually. The FedData package for R will get you most of the way there.

Full disclosure, I am the author of AQP and a USDA-NRCS employee.

  • Have you posted further details on downloading and loading SSURGO into PostGIS?
    – Abe
    Commented Jun 26, 2015 at 22:07
  • Mr. @Dylan Beaudette I applaud your modesty, but you sell yourself short. This is obviously the best answer to this question. Having used the functions within aqp and soilDB, I can say there is no better way to access soil data from R. A million thanks for your contributions to making soil data convenient and easy to use.
    – Dave-Evans
    Commented Oct 26, 2018 at 20:49

Dylan has created the best method to date using soilDB in the R package.

New features in the Soil Data Access site will be released soon (July) allowing the use of REST/POST commands to extract data.
In addition, new sql commands will be available for point, bounding box, and coordinates using Web Mercator or WGS84 coordinates.
Read the Web Services Help page at SDM Data Access for further information. Bookmark this site because it will be updated in July 2015.

  • can you expand on the "Dylan has created..."?
    – Brad Nesom
    Commented Jun 18, 2015 at 15:24
  • Could you please provide an example of how to request a soil physical property (say water holding capacity) for a point (e.g. 44.5N, 88.5W) either using the SDM Data Access page?
    – Abe
    Commented Jun 26, 2015 at 22:06

have you seen this? https://web.archive.org/web/20141125022710/http://casoilresource.lawr.ucdavis.edu/drupal/node/902

there are nice interfaces for BB with lat/long - for your specific request you might need to scrape the resulting data/link but the interface is set up for handling requests via the URL - quite easy. I've written some additional php/javascript to allow a mobile device to grab data out in the field.

note that the directory above this states that the site is re-organizing so you might want to make a note when you code that into your interface.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.