Skip to main content
SEMrush holds your competitive intelligence — which keywords your rivals rank for, what content earns them links, and where your search visibility is shifting. These five jobs pull that data through Mavera’s surfaces (Mave Agent, Custom Personas, Focus Groups, Brand Voices, Generate) so your SEO strategy, outreach, and content plans are grounded in competitive data rather than intuition.

API Reference Card

All examples use two environment variables: SEMRUSH_API_KEY and MAVERA_API_KEY. SEMrush returns semicolon-delimited text for most endpoints — Python examples parse with csv.reader(delimiter=';') and JavaScript examples split lines by \n then each by ;. Each API call consumes units from your SEMrush plan; check your balance at SEMrush → Subscription Info.

Prerequisites

1

SEMrush API key with available units

Log in to SEMrush and navigate to your profile settings to find your API key. Verify that your plan includes API units — most Pro plans include 10,000 units/month.
2

Mavera API key

Generate a key at app.mavera.io/settings/api-keys. The key starts with mvra_live_.
3

Install dependencies

4

Environment variables

Jobs


Rate Limits & Production Notes

SEMrush enforces 10 requests/second. All jobs include delays. In production, add a centralized rate limiter for concurrent jobs. ERROR 130 :: TOO MANY REQUESTS — retry after 1s with exponential backoff.
Always use csv.reader(delimiter=";") in Python and split-then-validate in JavaScript. Raw .split(";") breaks on quoted fields or semicolons inside keyword text.

What’s Next

All Integrations

50+ API integrations with full code

SEMrush API Docs

Official SEMrush API reference

Mave Agent

Full reference for POST /api/v1/mave/chat

Focus Groups API

Full reference for POST /api/v1/focus-groups

Generate API

Full reference for POST /api/v1/generations

Brand Voices API

Full reference for POST /api/v1/brand-voices