SEMrush + HubSpot

Connect SEMrush and HubSpot to Turn SEO Intelligence Into Revenue

Automatically sync keyword rankings, backlink data, and site audit insights from SEMrush into HubSpot to power sharper marketing campaigns and sales outreach.

Why integrate SEMrush and HubSpot?

SEMrush and HubSpot are two of the most-used platforms in a modern marketer's stack — one handling organic search intelligence, the other running the entire customer journey. Together, they create a feedback loop where keyword performance, competitor insights, and site health data drive better-targeted content, more informed lead scoring, and tighter sales and marketing alignment. Integrating SEMrush with HubSpot on tray.ai cuts the manual export-and-import cycle that wastes hours and delays action on time-sensitive SEO signals.

Automate & integrate SEMrush & HubSpot

Use case

Enrich HubSpot Company Records with SEMrush Domain Analytics

When a new company is created in HubSpot — through a form fill, manual entry, or CRM import — automatically query SEMrush for that company's domain authority, organic traffic estimate, top keywords, and backlink count. Append this competitive intelligence directly to the HubSpot company record so sales reps have instant context on a prospect's digital presence before making first contact.

Use case

Trigger HubSpot Workflows When Target Keywords Hit Ranking Milestones

Monitor a list of high-priority keywords in SEMrush and automatically fire HubSpot workflow enrollments whenever a keyword crosses a defined ranking threshold — entering the top 10 or reaching position one, for example. This lets you immediately promote the ranking content through email campaigns, alert the sales team for use in outreach, or update deal stages tied to that content asset.

Use case

Sync SEMrush Site Audit Issues to HubSpot Tasks for Content and Dev Teams

Schedule regular SEMrush site audits and automatically convert critical issues — broken links, missing meta descriptions, slow page speed warnings — into HubSpot tasks or deals assigned to the appropriate team members. Track resolution progress inside HubSpot without requiring your operations team to manually triage and distribute audit reports.

Use case

Score and Segment HubSpot Leads Based on Organic Search Intent

Use SEMrush keyword and traffic data to infer the search intent behind a lead's behavior and automatically update HubSpot lead scores and list memberships. Leads arriving from pages that rank for high-commercial-intent keywords can be fast-tracked to sales, while informational-intent leads are enrolled in longer nurture sequences tailored to their stage in the buyer journey.

Use case

Create HubSpot Deals from SEMrush Competitor Gap Opportunities

Run regular keyword gap analyses in SEMrush to identify high-value terms where competitors rank but your domain does not. Automatically push those opportunity clusters into HubSpot as deal records or campaign tasks, complete with keyword volume, difficulty, and competitive context, so your content strategy stays tied to a pipeline goal.

Use case

Report on Organic Search Attribution Inside HubSpot

Pull SEMrush traffic and ranking trend data on a scheduled basis and write it back into HubSpot custom properties, contact timelines, or custom objects so you can build attribution reports that connect SEO performance to contact acquisition, deal creation, and closed-won revenue — all inside HubSpot's native reporting suite.

Use case

Automate Content Refresh Alerts Based on Ranking Decay

Continuously monitor SEMrush position tracking for URLs that have dropped more than a defined number of positions over a rolling window. Automatically create HubSpot tasks or update existing content deals to flag those pages for a content refresh, so your team acts on ranking decay before it quietly drains traffic and lead volume.

Get started with SEMrush & HubSpot integration today

SEMrush & HubSpot Challenges

What challenges are there when working with SEMrush & HubSpot and how will using Tray.ai help?

Challenge

Keeping SEMrush Domain Data Fresh Across Thousands of HubSpot Companies

SEMrush domain metrics shift constantly as Google updates its index and competitors publish new content. Manually re-enriching HubSpot company records at scale isn't realistic, which means CRM data goes stale and misleads both sales and marketing teams acting on outdated SEO intelligence.

How Tray.ai Can Help:

tray.ai lets you schedule recurring enrichment workflows that iterate through HubSpot company records on a rolling basis, query SEMrush for updated domain data, and write refreshed values back to custom properties — no manual intervention or engineering overhead required.

Challenge

Translating SEMrush's Technical Data Model into HubSpot-Ready Fields

SEMrush returns richly structured JSON responses with nested arrays of keyword data, position history, and audit issues that don't map neatly to HubSpot's flat property model. Without a transformation layer, data gets lost or arrives in HubSpot in formats that break list segmentation and reporting.

How Tray.ai Can Help:

tray.ai's built-in data mapper and JSONPath helper functions let you precisely extract, flatten, aggregate, and reformat SEMrush API responses before writing them to HubSpot. You can concatenate top keyword arrays into readable strings, average position values across keyword groups, and transform audit severity codes into human-readable HubSpot dropdown values.

Challenge

Avoiding Duplicate Tasks and Records When Audit Issues Recur

SEMrush site audits run on a schedule and frequently surface the same issues across multiple runs. Without deduplication logic, every audit cycle floods HubSpot with duplicate tasks for the same broken links or missing meta descriptions, cluttering team queues and eroding trust in the automation.

How Tray.ai Can Help:

tray.ai workflows can query HubSpot before creating any new task to check whether an open task already exists for the same URL and issue type. Only genuinely new issues — or issues that re-emerged after being resolved — trigger new task creation, keeping HubSpot queues clean and actionable.

Challenge

Managing API Rate Limits Across Both Platforms During Large Syncs

Enriching large HubSpot company databases with SEMrush data in a single run quickly hits SEMrush's API rate limits and HubSpot's burst thresholds at the same time, causing workflow failures, incomplete syncs, and data gaps that are difficult to diagnose and fix manually.

How Tray.ai Can Help:

tray.ai handles rate limit management automatically with built-in retry logic, configurable throttling between API calls, and support for chunked batch processing. Large enrichment jobs are broken into safe request cadences that respect both platforms' limits while guaranteeing eventual completeness without manual monitoring.

Challenge

Connecting SEO Performance Data to HubSpot Revenue Attribution

Proving that organic search investment generates revenue requires joining SEMrush ranking and traffic data with HubSpot deal and contact records — a join that spans two completely separate data models and requires custom logic to associate ranking URLs with the content assets, landing pages, and contacts that convert to pipeline.

How Tray.ai Can Help:

tray.ai lets you build the connective tissue between SEMrush URL-level data and HubSpot's contact and deal records using URL-matching logic, UTM parameter lookups, and custom object writes. The result is a synchronized data layer inside HubSpot that powers attribution dashboards showing exactly how organic ranking improvements translate into pipeline and closed revenue.

Start using our pre-built SEMrush & HubSpot templates today

Start from scratch or use one of our pre-built SEMrush & HubSpot templates to quickly solve your most common use cases.

SEMrush & HubSpot Templates

Find pre-built SEMrush & HubSpot solutions for common use cases

Browse all templates

Template

New HubSpot Company → Enrich with SEMrush Domain Data

Whenever a new company record is created in HubSpot, this template automatically looks up the company's domain in SEMrush, retrieves authority score, estimated monthly organic traffic, and top keywords, then writes those values back to custom HubSpot company properties.

Steps:

  • Trigger fires when a new company record is created in HubSpot via webhook or polling
  • Extract the domain field from the HubSpot company record
  • Query the SEMrush Domain Overview API with the extracted domain
  • Map SEMrush response fields (authority score, organic traffic, backlinks, top keywords) to HubSpot custom properties
  • Update the HubSpot company record with enriched SEMrush data

Connectors Used: HubSpot, SEMrush

Template

SEMrush Keyword Ranking Alert → HubSpot Workflow Enrollment

Monitors a configured list of target keywords in SEMrush on a scheduled basis and automatically enrolls relevant HubSpot contacts or companies in a workflow when a keyword crosses a defined ranking position threshold, enabling immediate marketing or sales follow-up.

Steps:

  • Scheduled trigger polls SEMrush Position Tracking API at defined intervals
  • Compare current keyword positions against configured threshold values using a tray.ai conditional logic step
  • Filter for keywords that have crossed the milestone since the last check
  • Look up associated HubSpot contacts or companies linked to pages ranking for those keywords
  • Enroll matched records in a HubSpot workflow configured for ranking-win campaigns or sales alerts

Connectors Used: SEMrush, HubSpot

Template

SEMrush Site Audit Completion → HubSpot Task Creation

After a scheduled SEMrush site audit completes, this template parses critical and warning-level issues and creates or updates HubSpot tasks assigned to designated team members, with issue type, affected URL, and recommended fix included in the task body.

Steps:

  • Scheduled trigger initiates a SEMrush Site Audit API call for the configured project
  • Poll for audit completion status and retrieve the full issues report once finished
  • Filter issues by severity level (critical and warning) using tray.ai data mapping
  • For each qualifying issue, create a HubSpot task with assignee, due date, affected URL, and issue description
  • Log a summary task to a HubSpot deal or company record for management visibility

Connectors Used: SEMrush, HubSpot

Template

Weekly SEMrush Rankings Report → HubSpot Custom Properties Update

Every week, this template pulls the latest position tracking data from SEMrush for your configured keywords and updates corresponding HubSpot custom properties on company or contact records, enabling native HubSpot reports that show organic ranking trends alongside CRM data.

Steps:

  • Weekly scheduled trigger initiates the workflow in tray.ai
  • Query SEMrush Position Tracking API for the latest rankings across all tracked keywords
  • Aggregate data by page URL and map URLs to associated HubSpot content assets or company records
  • Update HubSpot custom properties with current position, position change, and estimated traffic
  • Optionally send a Slack or email digest summarizing ranking movements above a defined threshold

Connectors Used: SEMrush, HubSpot

Template

SEMrush Keyword Gap Analysis → HubSpot Content Campaign Creation

Runs a scheduled keyword gap analysis in SEMrush comparing your domain against configured competitors, then creates HubSpot campaigns or deals for the top opportunity clusters, giving your content team an editorial roadmap tied to competitive search data and pipeline goals.

Steps:

  • Scheduled trigger fires the SEMrush Keyword Gap API call with your domain and up to four competitor domains
  • Filter results for keywords where competitor rank is in the top 20 and your domain is unranked or below position 50
  • Group opportunities by topic cluster using keyword modifiers and tray.ai data transformation
  • Create a HubSpot campaign or deal record for each cluster with keyword volume, difficulty, and competitive context
  • Assign campaign records to the relevant HubSpot content team owner based on topic routing rules

Connectors Used: SEMrush, HubSpot

Template

Ranking Decay Detection → HubSpot Content Refresh Task

Monitors SEMrush position tracking daily and automatically creates HubSpot tasks flagging any tracked URL that has dropped more than a configurable number of positions within a rolling seven-day window, so content refresh work gets prioritized before traffic losses compound.

Steps:

  • Daily scheduled trigger polls SEMrush Position Tracking API for all monitored keywords
  • Compare current positions to positions recorded seven days prior using tray.ai helper functions
  • Flag URLs where position drop exceeds the configured threshold (e.g., five or more positions)
  • Check HubSpot for an existing open task on the affected URL to avoid duplicates
  • Create a HubSpot task with the URL, previous position, current position, and estimated traffic impact for content team action

Connectors Used: SEMrush, HubSpot