Discover/Florida Roof API
live

Florida Roof APIfloridaroof.com

Search and retrieve FRSA roofing contractor profiles — company name, address, phone, email, website, and category — via two structured endpoints.

Endpoint health
verified 6d ago
search_members
get_member_detail
2/2 passing latest checkself-healing
Endpoints
2
Updated
13d ago

What is the Florida Roof API?

The floridaroof.com API provides access to the Florida Roofing and Sheet Metal Contractors Association (FRSA) member directory through 2 endpoints. Use search_members to query contractors by city or company name and get paginated lists of up to 10 results per page, then call get_member_detail with a profile path to retrieve the full contact record including email, fax, website, member category, and description.

Try it
Page number for pagination (1-based). Each page returns up to 10 results.
Member category filter by numeric ID. Empty string means all categories.
Location type filter for interpreting the search text. Empty string means no filter.
Search keyword — typically a city name, company name, or general roofing term.
api.parse.bot/scraper/f4dab63c-62b1-4cf3-bada-0166506386a2/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/f4dab63c-62b1-4cf3-bada-0166506386a2/search_members?category=16&location=city&searchtext=Tampa' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace floridaroof-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: FRSA member directory — search roofing contractors and retrieve details."""
from parse_apis.floridaroof_com_api import FRSA, MemberCategory, LocationType, MemberNotFound

client = FRSA()

# Search for roofing contractors in Tampa filtered to FL contractors
for member in client.members.search(searchtext="Tampa", category=MemberCategory.CONTRACTOR_IN_FL, limit=5):
    print(member.company_name, member.city, member.phone)

# Drill into a single result for full details
member_summary = client.members.search(searchtext="Orlando", location=LocationType.CITY, limit=1).first()
if member_summary:
    detail = member_summary.details()
    print(detail.company_name, detail.email, detail.website, detail.category)

# Handle member not found
try:
    detail = client.members.search(searchtext="Jacksonville", category=MemberCategory.CONTRACTOR_IN_FL, limit=1).first()
    if detail:
        full = detail.details()
        print(full.company_name, full.street_address, full.city, full.state, full.zip_code)
except MemberNotFound as exc:
    print(f"Member not found: {exc.profile_path}")

print("exercised: members.search / member_summary.details / MemberCategory enum / LocationType enum / MemberNotFound error")
All endpoints · 2 totalmissing one? ·

Search the FRSA member directory by keyword (city, company name, or general term), optionally filtered by location type and member category. Returns paginated results with 10 members per page including company name, address, phone, and profile URL. Results are auto-iterated across pages.

Input
ParamTypeDescription
pageintegerPage number for pagination (1-based). Each page returns up to 10 results.
categorystringMember category filter by numeric ID. Empty string means all categories.
locationstringLocation type filter for interpreting the search text. Empty string means no filter.
searchtextrequiredstringSearch keyword — typically a city name, company name, or general roofing term.
Response
{
  "type": "object",
  "fields": {
    "page": "integer",
    "results": "array of member summary objects with company_name, profile_url, street_address, city, state, zip_code, phone",
    "source_url": "string",
    "total_results": "integer or null"
  },
  "sample": {
    "data": {
      "page": 1,
      "results": [
        {
          "city": "Tampa",
          "phone": "+1 (555) 012-3456",
          "state": "FL",
          "zip_code": "33610-4918",
          "profile_url": "https://www.floridaroof.com/TAMPA-ROOFING-CO-INC-10-1145.html",
          "company_name": "TAMPA ROOFING CO INC",
          "street_address": "1700 E Ellicott St"
        }
      ],
      "source_url": "https://www.floridaroof.com/member-search/index?searchtext=Tampa&location=&category=16",
      "total_results": 39
    },
    "status": "success"
  }
}

About the Florida Roof API

What the API Covers

The FRSA member directory lists roofing and sheet metal contractors that hold active association membership in Florida. The API exposes two endpoints that together let you search the full directory and retrieve individual company records. Every search result includes company_name, street_address, city, state, zip_code, phone, and a profile_url that feeds directly into the detail endpoint.

search_members Endpoint

search_members accepts a required searchtext parameter — typically a city name, partial company name, or trade term — and returns paginated results (10 per page, 1-based). Two optional filters narrow the result set: category accepts a numeric ID string to restrict results to a specific FRSA membership category, and location sets how the search text is interpreted geographically. The response includes total_results (integer or null when the count is unavailable) and a source_url for reference.

get_member_detail Endpoint

get_member_detail takes a profile_path — the path string returned in profile_url from a search result — and returns the full company record. Fields include phone, fax, email, website, category, city, state, zip_code, and description. Several fields (fax, email, website, description) are nullable, reflecting what individual members have chosen to publish in their directory listing.

Data Scope and Freshness

Coverage is limited to FRSA members in Florida. The directory reflects current association membership, so contractors who have not renewed or whose listings are incomplete will appear with partial data. The category field in detail responses corresponds to the FRSA membership tier or trade classification the company holds.

Reliability & maintenanceVerified

The Florida Roof API is a managed, monitored endpoint for floridaroof.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when floridaroof.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official floridaroof.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a contractor finder tool filtered by Florida city using searchtext and city fields from search results
  • Aggregate contact lists of FRSA-member roofers by membership category using the category filter
  • Enrich a CRM with verified phone, email, and website data pulled from get_member_detail
  • Cross-reference licensed roofing companies against permit records using company name and zip code
  • Generate a regional directory of Florida roofing contractors sorted by city and member category
  • Monitor association membership changes by periodically querying the directory for new or removed companies
  • Identify contractors with published websites for outreach campaigns by filtering on the non-null website field
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does FRSA offer an official developer API for its member directory?+
FRSA does not publish an official developer API. The member directory at floridaroof.com/member-search/index is a public-facing web directory with no documented programmatic access.
What does get_member_detail return beyond what search_members provides?+
search_members returns summary fields — company name, address, phone, and a profile URL. get_member_detail adds fax, email, website, category, and description. Fields like email and website are nullable because some members do not publish them in their FRSA listing.
Does search_members always return a total result count?+
total_results is typed as integer or null. When the directory does not surface a total count for a given query, the field returns null. Pagination still works via the page parameter; iterate until a page returns fewer than 10 results to detect the final page.
Does the API cover roofing contractors outside Florida or members of other state roofing associations?+
Not currently. The API covers only FRSA members listed in the Florida directory at floridaroof.com. You can fork it on Parse and revise to add endpoints targeting other state roofing association directories.
Can I filter search results by ZIP code or county rather than city name?+
The searchtext parameter accepts a city name, company name, or general term, and location sets geographic interpretation. ZIP code or county-level filtering is not a dedicated parameter. You can fork the API on Parse and revise it to add a ZIP-based or county-based filter endpoint.
Page content last updated . Spec covers 2 endpoints from floridaroof.com.
Related APIs in B2b DirectorySee all →
crunchbase.com API
Search and retrieve detailed information about companies, investors, and key people to discover funding opportunities, track market competitors, and analyze investment trends. Access comprehensive profiles including organization details, investor backgrounds, and complete funding round histories all in one place.
dnb.com API
Search millions of companies in Dun & Bradstreet's global business directory to find detailed company profiles and verify D-U-N-S numbers. Look up key business information like company details and identifiers to support due diligence, sales prospecting, and business intelligence needs.
ycombinator.com API
Access comprehensive data from the Y Combinator ecosystem, including company profiles, founder and partner information, job listings, and the YC library. Filter companies by batch, industry, and hiring status, and explore detailed profiles with social links, team information, and funding metadata.
opencorporates.com API
Access comprehensive company registration data, officer details, and filing histories from OpenCorporates across jurisdictions worldwide to research businesses and their leadership. Search for specific companies or officers, retrieve detailed corporate information, and explore filing records to support due diligence, compliance checks, and business intelligence.
dir.indiamart.com API
Search and extract supplier listings, product details, and business factsheets from the IndiaMart B2B directory. Browse by city and category, retrieve structured product specifications, pricing, and supplier verification data.
mwcbarcelona.com API
Discover and explore MWC Barcelona 2026 exhibitors, speakers, and sessions by searching, filtering, and browsing by category, location, or type. Access detailed information about pavilions, agenda schedules, news updates, and pass options to plan your conference experience.
explodingtopics.com API
Discover rapidly growing trends, emerging startups, and top-performing websites by filtering through trending topics by category and volatility. Programmatically access detailed trend analysis, related topics, blog coverage, and curated highlights to stay ahead of market movements.
yellowpages.com.au API
Search Australian businesses by category to find contact details, addresses, and emails, then retrieve comprehensive business information for any listing. Perfect for building lead lists, verifying business information, or discovering local service providers across Australia.