Using SSURGO and improving usability

@ircwaves @DanT @mstenta @jjmaynard and anyone else who may know.

I’m posting this because I know that Mike is going to be pulling SSURGO into FarmOS for some USDA work, and I wanted to get some feedback from heavy users on the quality of their API.

I know for us (Dan T’s feedback) is it’s pretty flaky and can have lots of downtime. I also know that Jon was working on a layer to improve the quality of the results.

@jjmaynard I know you were working on an improved layer sitting on top of it last year, wondering the status of that.

@ircwaves I’m guessing you have thoughts opinions… are there good ways to improve consistency?

Any thoughts helpful to learn from past experiences.

1 Like

Thanks for starting this @gbathree!

The farmOS NRCS module already has the ability to query SSURGO for some soil information. Given a WKT geometry, it will return muname (map unit soil name), musym (map unit symbol), and nationalmusym (national map unit symbol).

It does this by basically running the following SQL query against the tabular REST endpoint (

SELECT muname, musym, nationalmusym FROM SDA_Get_Mukey_from_intersection_with_WktWgs84(...) K LEFT JOIN mapunit MU ON K.mukey = MU.mukey";

However, “soil texture” specifically has come up as a request, and I’m curious if others know how to get that data. I’m hoping we just need to JOIN in another table? I’d love to hear if anyone has experience with this!

I haven’t hit the MUKEYs too much.

If I were going to ingest on my own, I’d go the gnatsgo route, and use the stactools-gnatsgo package to make it indexable.

Alternative source (compiled in a similar fashion) would be to hit Microsoft’s Planetary Computer endpoint

1 Like

I’ve consistently experienced issues with this API over the past couple years. Requests that normally succeed will often return 104 Connection Reset or 500 Server Error. To fix 500s sometimes you need to email NRCS to reset the service. I’d love to have a more reliable alternative.

1 Like

Thanks for reaching out @gbathree! Might be good to schedule a quick call to discuss FarmOS data needs. I think that NRCS web services have improved but would appreciate feedback if people have recently experienced issues. There are different options for pulling in soil property data at a location or AOI. Some example code for different aggregation methods can be found here:ssurgoOnDemand

@gbathree and @mstenta : I finished the improved soil property aggregation workflow we discussed and we are working with TechMatters to host an API in the near future.

FYI, I started a new position with the NRCS late last year. I will follow up with my new contact info.


“The main intent of both SOD and SDV are to hide the complex relationships of the SSURGO tables and allow the users to focus on asking the question they need to get the information they want.”

Great to see this happening! I supported GIS services at Cornell University’s Mann Library for over 20 years, and helping folks wrangle those SSURGO tables was a constant challenge.