v1

OpenAPI 3.1.02026-07-133254206.1 KB
Contractors
Contractors

Search Contractors

Returns contractors doing work within the given location area filtered by type of work. Contractors must meet all specified parameters, with multiple parameters treated as AND queries. Use contractor_classification_derived to filter by derived classifications (ALL specified values required). The permit_q parameter uses full-text search with English stemming (e.g., 'installing' matches 'install'). Multi-word queries use AND semantics (e.g., 'solar panel' finds permits mentioning both words). NOTE: Contractors are ordered by the start date of the most recent permit on which they worked.

get/contractors/search

Query parameters

cursorstring nullable

Cursor for pagination

Cursor for pagination

sizeinteger
include_countboolean

When true and on the first page (no cursor), include total_count in the response. The count is exact up to 10,000; above that, relation is 'gte'.

When true and on the first page (no cursor), include total_count in the response. The count is exact up to 10,000; above that, relation is 'gte'.

include_talliesboolean

Include tag and status tallies in response. Set to false to omit tally computation for faster response times when tallies are not needed.

Include tag and status tallies in response. Set to false to omit tally computation for faster response times when tallies are not needed.

permit_fromstring date required

Return permits that started on or after the specified date.This includes all permits with the earliest date (file, issue, or start date) that falls on or after this date. Date format: YYYY-MM-DD

Return permits that started on or after the specified date.This includes all permits with the earliest date (file, issue, or start date) that falls on or after this date. Date format: YYYY-MM-DD

permit_tostring date required

Return permits that started on or before the specified date.This includes all permits with the latest date (file, issue, or end date) that falls on or before this date. Date format: YYYY-MM-DD

Return permits that started on or before the specified date.This includes all permits with the latest date (file, issue, or end date) that falls on or before this date. Date format: YYYY-MM-DD

permit_qstring nullable

Substring to search for in permit description (case-insensitive). Matches anywhere in the text, including partial words.

Substring to search for in permit description (case-insensitive). Matches anywhere in the text, including partial words.

permit_statusstring[] nullable

Filter by one or more statuses: final, in_review, inactive, active.

Filter by one or more statuses: final, in_review, inactive, active.

permit_min_approval_durationinteger nullable

Filter by the minimum permit approval duration in days.

Filter by the minimum permit approval duration in days.

permit_min_construction_durationinteger nullable

Filter by the minimum project construction duration in days.

Filter by the minimum project construction duration in days.

permit_min_inspection_printeger nullable

Filter by the minimum inspection pass rate.

Filter by the minimum inspection pass rate.

permit_min_job_valueinteger nullable

Filter by the minimum job value.

Filter by the minimum job value.

permit_min_feesinteger nullable

Filter by minimum permit fees.

Filter by minimum permit fees.

permit_tagsstring[] nullable

Filter by one or more tags. Use '-' prefix to exclude tags. Example: ?permit_tags=solar&permit_tags=-roofing (has solar, not roofing).

Filter by one or more tags. Use '-' prefix to exclude tags. Example: ?permit_tags=solar&permit_tags=-roofing (has solar, not roofing).

geo_idstring required

Filter results by geographic area. Accepts:

  • US state code (e.g. CA)
  • ZIP code (e.g. 90210 or 90210-1234)
  • Shovels geolocation ID for an address, city, county, or jurisdiction (e.g. a4xysKbZwqg)

Resolve addresses and places to geolocation IDs via:

  • Search Addresses
  • Search Cities
  • Search Counties
  • Search Jurisdictions

Free-form text such as "123 Main St" is not accepted.

Filter results by geographic area. Accepts:

  • US state code (e.g. CA)
  • ZIP code (e.g. 90210 or 90210-1234)
  • Shovels geolocation ID for an address, city, county, or jurisdiction (e.g. a4xysKbZwqg)

Resolve addresses and places to geolocation IDs via:

  • Search Addresses
  • Search Cities
  • Search Counties
  • Search Jurisdictions

Free-form text such as "123 Main St" is not accepted.

property_typestring nullable

Filter by property type: residential, commercial, industrial, agricultural, vacant land, exempt, miscellaneous, office, recreational.

Filter by property type: residential, commercial, industrial, agricultural, vacant land, exempt, miscellaneous, office, recreational.

property_min_market_valueinteger nullable

Minimum assessed market value of the property.

Minimum assessed market value of the property.

property_min_building_areainteger nullable

Minimum total building area in sq ft.

Minimum total building area in sq ft.

property_min_lot_sizeinteger nullable

Minimum size of the property lot in sq ft.

Minimum size of the property lot in sq ft.

property_min_story_countinteger nullable

Minimum number of property stories.

Minimum number of property stories.

property_min_unit_countinteger nullable

Minimum number of property units

Minimum number of property units

contractor_classification_derivedstring[] nullable

Filter by derived contractor classifications. Use '-' prefix to exclude. Example: ?classification_derived=electrical&classification_derived=-hvac. Returns results containing ALL specified classifications. Possible values: concrete_and_paving, demolition_and_excavation, electrical, fencing_and_glazing, framing_and_carpentry, general_building_contractor, general_engineering_contractor, hvac, landscaping_and_outdoor_work, other, plumbing, roofing, specialty_trades.

Filter by derived contractor classifications. Use '-' prefix to exclude. Example: ?classification_derived=electrical&classification_derived=-hvac. Returns results containing ALL specified classifications. Possible values: concrete_and_paving, demolition_and_excavation, electrical, fencing_and_glazing, framing_and_carpentry, general_building_contractor, general_engineering_contractor, hvac, landscaping_and_outdoor_work, other, plumbing, roofing, specialty_trades.

contractor_namestring nullable

Filter by contractor's name or business name (partial match supported). Must be at least 3 characters — shorter patterns cannot use the trigram index and would force a sequential scan.

Filter by contractor's name or business name (partial match supported). Must be at least 3 characters — shorter patterns cannot use the trigram index and would force a sequential scan.

contractor_websitestring nullable

Filter by contractor's website. Don't include the http(s):// prefix.

Filter by contractor's website. Don't include the http(s):// prefix.

contractor_min_total_job_valueinteger nullable

Minimum lifetime job value of the contractor.

Minimum lifetime job value of the contractor.

contractor_min_total_permits_countinteger nullable

Minimum lifetime permits count.

Minimum lifetime permits count.

contractor_min_inspection_printeger nullable

Minimum lifetime inspection pass rate. The value must be an integer between 0 and 100, inclusive.

Minimum lifetime inspection pass rate. The value must be an integer between 0 and 100, inclusive.

contractor_licensestring nullable

Filter by the contractor's license

Filter by the contractor's license

Response

A list of contractors.

sizeinteger required

The number of items returned in the response.

next_cursorstring nullable required

The cursor for retrieving the next page of results.