The Short Version
Choose the API When
- You are building a product feature and need permits for one address, contractor, or city at a time
- Your queries are unpredictable — you don’t know in advance which records you’ll want
- You want to start today without a contract, on any plan including Free
- Your volumes are measured in thousands of records rather than the whole country
Choose an EDL When
- You need every record in a category — every contractor across a state, every permit in a metro — rather than a selection
- You want to join Shovels data against your own tables in SQL
- You need fields the API doesn’t expose, such as applicant and owner email addresses and additional property detail
- You are training models or running analysis where paging through an API would be the bottleneck
- You want the data in Snowflake, BigQuery, Databricks, or as parquet files in your own object storage
The Practical Tells
A few signals that usually settle it:- If you find yourself planning to page through the API to download everything, you want an EDL. That is the shape the API is worst at.
- If you need one record in response to a user action, you want the API. A warehouse copy can’t answer a live lookup.
- If you need a field you can’t find in the API reference, ask about an EDL — the delivered dataset is wider.
- If you’re not sure yet, start on the API. It costs nothing to try on the Free plan, and what you learn about your own access pattern is the best input to an EDL conversation.

