Developer path
One address in. One source-bound decision out.
Call the live STR Permit Registry Actor directly from any HTTP client. Address evidence mode evaluates the complete selected publisher query and returns one decision per submitted address.
Request
Use your own Apify API token in the Authorization header. The endpoint accepts one supported city and 1-25 addresses.
curl -X POST \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"outputMode": "address_evidence",
"cities": ["orlando"],
"addresses": [
"100 Sample St, Sampleton, ZZ"
]
}' \
"https://api.apify.com/v2/actors/civicdataforge~str-permit-registry/run-sync-get-dataset-items"
Decision contract
EVIDENCE_FOUND: exact normalized address evidence exists in the selected published source.NO_PUBLISHED_MATCH: no exact match was found in the complete selected publisher query.REVIEW_REQUIRED: the input is invalid or a similar candidate needs human review.
Every row carries scope_completeness, observed_at, source_url, match detail, and a decision_receipt_hash.
NO_PUBLISHED_MATCH does not prove illegality, ineligibility, or absence from every government system. If the official source cannot be evaluated completely, the run fails instead of manufacturing a negative result.Choose the commercial path
Use the live Actor for machine self-service. Choose the $4.99 Permit Audit for guided intake and a private, automatically prepared evidence bundle for up to 25 addresses in one supported jurisdiction. Choose $19.99/month for weekly checks, change history and email change alerts for up to 25 addresses across up to five cities. Ambiguous matches remain review candidates; neither option is a legal determination.
Receipt-bound evidence in your automation
Use the Evidence Gateway when your workflow needs a combined, source-bound evidence packet. Your existing HTTP client can use your own Apify credential, kept in its secret store. Review the Actor tariff and set an explicit run-cost ceiling before starting. Start once and retain the run ID; retries should read that run, not buy a replacement.
The Gateway's authoritative result is GATEWAY-PACKET in the run's default key-value store, not the STR dataset described above. Check the Gateway Actor identity, stored INPUT, and packet receipt bindings before accepting the result. Preserve its source dates, completeness and decision state.
With a CivicDataForge first-party key, use our MCP endpoint. Recover a pending call by repeating the original tools/call body and Idempotency-Key. The service reads the bound run and does not start another one. A lost start with no confirmed run ID requires reconciliation; UNRESOLVED is not delivery. First-party keys do not grant Apify account or storage access. See the agent catalog for supported tasks and routes.
Check our work
This moved here from the homepage, which now keeps to what hosts need.
Coverage
Free check in 18 cities. Permit Audit ($4.99) and $19.99/month monitoring in 54. Raw data feed on Apify in the same 54.
Free check (18): Albuquerque, Arlington, Asheville, Aspen, Bend, Coconino County, Denver, Houston, Huntington Beach, Louisville, Marin County, Nashville, New Orleans, Norfolk, Orlando, Sacramento, San Bernardino County, Seattle.
Also in the audit (36): Austin, Baldwin County, Bedford, Belton, Big Bear Lake, Boston, Breckenridge, Cambridge, Chattanooga, Chicago, Clear Creek County, Cody, Columbus, Cook County, Corpus Christi, Covington, Green Bay, Honolulu, Kansas City, Key West, Las Vegas, Little Rock, Long Lake Township, North Las Vegas, Osceola County, Philadelphia, Placer County, Polk County, Ruidoso, San Diego, San Juan County, Scottsdale, Shreveport, South Haven, Summit County, Washington.
Also in the raw data feed (2): Washington DC, Honolulu.
Result codes
| Code | Meaning | Homepage tag |
|---|---|---|
EXACT_PUBLISHED_MATCH | The address is on the city's published list. | Has one, or Expired from the status and expiry date |
NOT_FOUND_IN_PUBLISHED_SOURCE | No exact match in the city's published list. | Needed |
REVIEW_CANDIDATE | A near match, left for you to review. | (audit only) |
INVALID_INPUT | The line could not be read as an address. | (audit only) |
LISTED_ACTIVE_AFTER_EXPIRY | Expiry flag: listed active, but the published expiry date has passed. | Expired |
EXPIRED_NOT_ACTIVE | Expiry flag: the expiry date has passed and the city lists it as not active. | Expired |
See real rows
Every row we deliver comes from a city's own published list. To see real rows, check an address on the homepage, see the live city board, or run the permit registry on Apify for one city and download the result as JSON, CSV or Excel. Each run also saves OUTPUT.csv and OUTPUT.xlsx; the Excel file has a tab explaining every column.
Raw records and API pricing
- Raw records on Apify: priced per result. The Apify listing shows the current price.
- API and MCP on AWS Marketplace: $0.10 per successful evidence request. Failed requests and idempotent retries are not billed.