Roof attributes as a feature in your stack. One field, every record.
Marketing platforms ship better when their data is richer. Pipe RoofTap into your enrichment layer and customers can segment by roof age, pitch, complexity, or material likelihood, the same way they segment by geography or demographics today. Your platform stays simple, your customers ship campaigns that didn't exist before.
How it fits in
Day-to-day workflows our data slots into.
Segmentation + audiences
Build segments like roof age greater than 20 years or steep-pitch homes for targeted campaigns. Push to ad platforms as custom audiences, or use as filters in your existing campaign builder.
Lookalike modeling
Train lookalike models on roof + property attributes that correlate with conversion. Surface high-intent prospects your customer wouldn't find via geo or demographics alone.
Trigger-based outreach
Score and tag records on enrichment. Trigger drip campaigns when properties match high-value patterns. Roof age over 18 plus single-story plus owner-occupied equals retire campaign.
List health + hygiene
Filter out bad addresses, vacancy, and low-confidence records from your customer's lists before they pay to mail or call. The data_quality field tells you which records to drop.
Vertical-specific products
Build a roofing-marketing module on top of your platform without building the data layer. Same for solar (pitch + azimuth), insurance (age + complexity), real-estate (age + condition).
API resale at higher tier
Bake enrichment into a premium tier. Customers pay you a higher subscription for richer data; you pay us a per-call rate. Margin is yours, no rev-share.
Fields you'll use most
From the full API response, these are the fields this industry leans on.
| Field | What you do with it |
|---|---|
| roof.area_sqft | Bucket records into size segments. Larger roofs correlate with higher household income. |
| roof.predominant_pitch | Steep-pitch homes have different replacement profiles. Useful for solar prospecting (low pitch is easier). |
| roof.num_facets | Complexity correlates with home value. Cut-up roofs sit on bigger, more expensive houses. |
| property.year_built | Vintage segmentation. Build pre-1980 lookalikes for asbestos / lead-paint outreach. |
| property.estimated_roof_age_years | The actionable signal. 18+ year roofs are within 5 years of replacement. |
| property.living_area_sqft | Income proxy. Combine with roof signals for compound segments. |
| property.owner_occupied | Filter out rentals from owner-marketing campaigns automatically. |
From signup to live
Typical timeline from first call to your first enriched record.
Discovery + scope
Quick call to understand your platform's enrichment layer. Are you appending on intake, on schedule, or on demand? We design the integration shape around what you have.
Sandbox keys
Live API key + 100 free test calls. Wire it into a non-production environment, validate the response shape against your schema.
Production rollout
Move to your prod enrichment pipeline. We support both async batch (CSV) and real-time API calls. Most platforms run async during nightly enrichment, real-time on intake forms.
Customer rollout
Once live, your customers see the new fields in their dashboard. We can co-write release notes if you want to feature the launch.
Common questions
Does this work with our existing data warehouse?
Yes. The API returns standard JSON. Most platforms drop our response into Snowflake / BigQuery / Redshift via their existing pipeline tooling. We don't require you to use any specific stack.
How do we handle PII in the property block?
Pass include=roof,imagery to skip the property block (which contains owner_name and owner-occupied flags). Or pass include=roof,property,imagery to get everything. Default is whatever's safe for your platform.
What's the resale model?
You bake enrichment into your platform's pricing however you want. We charge you per-call. You charge your customers per-feature, per-record, or per-segment, whatever fits your business model. No rev-share, no marketplace.
Can we cache results?
Yes. Roof and property data don't change often (year-built never, roof age slowly, owner occasionally). Caching for 90+ days is reasonable and most enterprise customers do. We bill on API calls, not record retention.
What's the latency?
Target p95 under 3 seconds. For batch enrichment of 1M+ records overnight, allocate ~30 minutes per 100k records on a single thread. Parallelization is supported up to your tier's rate limit.
Quiet, reliable, dialed in
We do the data complexity. Your platform stays simple, fast, and predictable. No new systems for your customers to learn, no rate-limit games, no handholding required.
Tell us what you're building
We'll review your use case, answer questions, and get you set up if it's a fit.