DNS-Checks haben viele Sonderfälle
SPF, DKIM und DMARC haben jeweils ihr eigenes Format, eigene Selectoren und eigene Abfrageregeln. Ein schnelles Skript klappt bei deiner Domain und scheitert bei der nächsten.
Entwickler
Prüfe E-Mail-Adressen, DNS-Einträge und Cold-E-Mail-Texte aus deinem eigenen Code, ohne Schlüssel. Gib deinem KI-Agenten dieselben Checks als MCP-Tools. Wenn du dein eigenes Konto brauchst, nutze die authentifizierte Developer API, die firstsales CLI oder den App-MCP-Server.
$1 für 3 Tage · Jederzeit kündbar · Kein Vertrag
Achtzehn öffentliche Operationen, ohne Schlüssel
Zwölf MCP-Tools für jeden MCP-Client
OpenAPI-3.1-Spec in JSON und YAML
Developer API und CLI für dein eigenes Konto
Die meisten Teams bauen dieselben kleinen Checks immer wieder: Ist die Adresse echt, ist die Domain eingerichtet, sieht diese E-Mail nach Spam aus. Jeder davon dauert länger, als er aussieht.
SPF, DKIM und DMARC haben jeweils ihr eigenes Format, eigene Selectoren und eigene Abfrageregeln. Ein schnelles Skript klappt bei deiner Domain und scheitert bei der nächsten.
Ein KI-Agent ohne passendes Tool liest Webseiten und rät. Das ist langsam, bricht bei jeder Seitenänderung und liefert Antworten, denen du nicht trauen kannst.
Wenn Kontakte nur im Browser hinzugefügt und Kampagnen nur dort gelesen werden können, wird jeder Import, jeder Bericht und jeder Sync zur Handarbeit für jemanden im Team.
Die öffentlichen Zugänge beantworten Fragen zu Zustellbarkeit und Texten für alle, ohne Schlüssel. Die Konto-Zugänge arbeiten in deinem eigenen FirstSales-Workspace: Kontakte, Kampagnen, Deals und mehr.
Achtzehn Operationen für E-Mail-Checks, DNS- und Domain-Abfragen, Text-Bewertung und Tutorials, beschrieben in einem OpenAPI-3.1-Dokument.
/openapi.json öffnenZwölf derselben Checks als MCP-Tools über Streamable HTTP, damit ein Agent sie direkt aufruft, statt Seiten auszulesen.
MCP-Manifest öffnenEine Inhaltskarte unter /llms.txt und eine saubere Markdown-Kopie der Seiten für LLMs und Crawler, die Text statt HTML wollen.
/llms.txt öffnenDie authentifizierte API für deinen eigenen Workspace. Sie deckt Konto-Abläufe ab und ist getrennt von der öffentlichen Diagnose-API dieser Website.
Developer-API-Doku lesenDas npm-Paket @firstsales.io/cli installiert ein Programm namens firstsales, damit du Konto-Abläufe aus dem Terminal oder einem Skript startest.
CLI-Referenz lesenEin per OAuth geschützter MCP-Server für Aktionen in der App und Kontodaten, damit ein Agent mit deiner Erlaubnis in deinem FirstSales-Konto arbeitet.
App-MCP-Leitfaden lesenFüge das in Claude Desktop, Claude Code oder jedem MCP-Client mit Streamable HTTP hinzu. Die Tools erscheinen sofort in deinem Agenten.
{
"mcpServers": {
"firstsales": {
"url": "https://firstsales.io/mcp/"
}
}
}Für die öffentliche API und den MCP-Server brauchst du kein Konto. Melde dich nur an, wenn du in deinem eigenen Workspace arbeiten willst.
Öffne /openapi.json oder /api/openapi.yaml und importiere sie in deinen Client-Generator, API-Explorer oder dein Agenten-Framework. Jede Operation, jedes Feld und jedes Limit steht darin.
Schick eine E-Mail-Adresse per POST an /api/v1/email/validate oder füge den MCP-Server zu deinem Agenten hinzu. Kein Schlüssel, keine Anmeldung. Lies die RateLimit-Header, um dein Tempo zu steuern.
Für Kontakte, Kampagnen und Deals in deinem eigenen Workspace nutze die Developer API, die firstsales CLI oder den per OAuth geschützten App-MCP-Server.
Die öffentliche API ist zuerst für Maschinen gebaut: eine Spec, stabile Pfade, ehrliche Limits und klare Fehler.
Ein einziges OpenAPI-3.1-Dokument beschreibt jede öffentliche Operation, ihren Request-Body, ihre Antwort und ihr Limit. Erzeuge einen Client in deiner Sprache.
Zwölf Tools über Streamable HTTP, gelistet in einem Manifest unter /.well-known/mcp.json, damit ein Agent sie ohne eigenen Glue-Code findet und aufruft.
Jeder Endpoint liegt unter /api/v1. Eine inkompatible Änderung kommt unter einem neuen Präfix, und v1 behält seinen Vertrag.
Jede Antwort trägt RateLimit-Header mit Limit, Rest und Zeitpunkt des Zurücksetzens, damit dein Client bremst, bevor er abgewiesen wird.
Über dem Limit bekommst du eine 429 mit Retry-After in Sekunden und einen JSON-Body mit den Feldern error, message und hint, die sagen, was als Nächstes zu tun ist.
Die Developer API, die firstsales CLI und der App-MCP-Server erreichen deinen eigenen Workspace, also brauchen Importe, Berichte und Syncs keinen Browser.
Vier Schritte, vom Lesen der Spec bis zum Umgang mit einem Limit. Die Beispiele nutzen Beispieldaten.
Starte mit der maschinenlesbaren Spec. Sie listet jede öffentliche Operation unter /api/v1 mit Methode, Request-Feldern und Antwortform. Importiere sie in deinen API-Explorer oder Client-Generator und du hast in einer Minute typisierte Aufrufe.
Schick einen JSON-Body an die Operation, die du brauchst. Die E-Mail-Validierung antwortet auch bei einer schlechten Adresse mit 200, lies also das Feld valid statt des Statuscodes. Die Antwort sagt auch, ob die Domain existiert, Mailserver hat oder ein Wegwerf-Postfach ist.
Füge den öffentlichen MCP-Server mit einer Zeile Konfiguration zu deinem Agenten hinzu. Dann kann er per Tool-Aufruf eine Adresse validieren, das DKIM einer Domain prüfen oder eine Betreffzeile bewerten, und ein Tutorial lesen, wenn er einen Schritt erklären muss.
Jede Antwort sagt dir, wo du stehst: RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset und RateLimit-Policy. Wenn du drüber liegst, hat die 429-Antwort einen Retry-After-Header, also weiß dein Client genau, wie lange er warten muss.
Alle Pfade liegen unter https://firstsales.io/api/v1. Limits gelten pro IP in einem 60-Sekunden-Fenster. Die OpenAPI-Spec enthält das Request- und Response-Schema jeder Operation.
| Operation | Was sie macht | Limit |
|---|---|---|
| POST/api/v1/email/validate | Prüft, ob eine Adresse eine echte Domain, Mailserver und ein gültiges Format hat. | 20/Min. |
| POST/api/v1/email/disposable | Bewertet die Domain einer Adresse auf das Risiko eines Wegwerf- oder Temporär-Postfachs. | 20/Min. |
| POST/api/v1/email/catchall | Zeigt, ob eine Domain Mails an jedes Postfach annimmt (Catch-all). | 20/Min. |
| Operation | Was sie macht | Limit |
|---|---|---|
| POST/api/v1/dns/check | Führt einen DNS-, E-Mail-Authentifizierungs- oder Sicherheits-Check für eine Domain aus. | 10/Min. |
| POST/api/v1/dns/dkim | Sucht und prüft den DKIM-Eintrag einer Domain für einen Selector. | 10/Min. |
| POST/api/v1/dns/validate | Führt SPF, DKIM, DMARC und MX gemeinsam aus, mit einem Vertrauenswert. | 10/Min. |
| POST/api/v1/dns/reverse | Reverse-DNS-Abfrage (PTR) für eine IPv4-Adresse, mit Vorwärts-Bestätigung. | 10/Min. |
| Operation | Was sie macht | Limit |
|---|---|---|
| POST/api/v1/domain/age | Liefert Registrierungsalter und Ablaufdatum einer Domain über RDAP. | 10/Min. |
| POST/api/v1/domain/dns-records | Holt alle DNS-Eintragstypen einer Domain mit einem Aufruf. | 10/Min. |
| POST/api/v1/domain/subdomains | Findet Subdomains über Certificate-Transparency-Logs. | 5/Min. |
| Operation | Was sie macht | Limit |
|---|---|---|
| POST/api/v1/analyze/spam | Bewertet E-Mail-Inhalt auf das Risiko von Spam-Wörtern. | 30/Min. |
| POST/api/v1/analyze/subject-line | Bewertet eine Cold-E-Mail-Betreffzeile und schlägt eine bessere vor. | 30/Min. |
| POST/api/v1/analyze/cold-email | Benotet einen ganzen Cold-E-Mail-Entwurf in acht Dimensionen. | Siehe Spec |
| POST/api/v1/analyze/email-body | Bewertet den Text einer Cold-E-Mail und schlägt Verbesserungen vor. | 30/Min. |
| POST/api/v1/analyze/personalization | Findet und bewertet die persönlichen Details in einer Cold-E-Mail. | Siehe Spec |
| Operation | Was sie macht | Limit |
|---|---|---|
| GET/api/v1/public/tutorials | Listet alle öffentlichen FirstSales-Tutorials. | Siehe Spec |
| GET/api/v1/public/tutorials/{slug} | Liefert den vollen Inhalt eines Tutorials über seinen Slug. | Siehe Spec |
| GET/api/v1/health | Prüft, ob der Dienst läuft. | Siehe Spec |
Das sind dieselben Regeln, die die OpenAPI-Spec unter x-apiVersioning, x-deprecationPolicy und x-rateLimit festlegt. Die Spec verlinkt direkt auf diesen Abschnitt.
Die API ist im URL-Pfad versioniert. Die aktuelle Version ist v1, also ist jeder Endpoint unter https://firstsales.io/api/v1/<operation> erreichbar.
Eine inkompatible Änderung kommt unter einem neuen Präfix, und v1 behält seinen Vertrag. Die Form ohne Präfix /api/<operation> ist ein Alias für die aktuelle Version und kann sich ohne Ankündigung ändern, also ruf die Form /api/v1/ auf.
Eine Version wird mindestens 180 Tage nach Ankündigung ihres Nachfolgers unterstützt.
Sobald eine Version abgekündigt ist, tragen ihre Antworten Deprecation: true und einen Sunset-Header mit dem Abschaltdatum (RFC 8594), dazu einen Link-Header zu den Migrationshinweisen. Abschaltungen werden auf dieser Seite angekündigt. Derzeit ist keine Version abgekündigt.
Jeder Endpoint ist pro IP in einem 60-Sekunden-Fenster begrenzt: 20 pro Minute für E-Mail-Checks, 10 für DNS- und Domain-Abfragen und 30 für die Text-Bewertung. Jede Antwort trägt die RateLimit-Header-Felder der IETF, damit ein Client sich selbst drosseln kann, bevor er abgewiesen wird.
Der Endpoint antwortet mit 429, einem Retry-After-Header in Sekunden und einem JSON-Body mit error, message und hint.
HTTP/1.1 429 Too Many Requests
Retry-After: 41
Content-Type: application/json
{ "error": "...", "message": "...", "hint": "..." }“I've been using FirstSales.io for several months now, and I can confidently say it has revolutionized how I approach lead generation and customer acquisition.”
Paweł StelmachSmall business owner · TrustpilotSieben Gewohnheiten, die Integrationen am Laufen halten, wenn der Traffic wächst und Versionen sich ändern.
Wenn du nur Checks ohne Konto brauchst, etwa E-Mail-Validierung, DNS-Checks oder Text-Bewertung, nutze die öffentliche API oder den öffentlichen MCP-Server. Für Kontakte, Kampagnen oder Deals in deinem eigenen Workspace nutze die Developer API, die firstsales CLI oder den App-MCP-Server. Beides zu verwechseln ist der häufigste erste Fehler.
Die Form ohne Präfix /api/<operation> ist ein Alias für die aktuelle Version und kann sich ohne Ankündigung ändern. Ruf https://firstsales.io/api/v1/<operation> auf, damit dein Code den v1-Vertrag behält, wenn eine neue Version erscheint.
Handgeschriebene Clients veralten. Erzeuge einen aus /openapi.json und erneuere ihn, wenn sich die Spec ändert. So bekommst du die richtigen Feldnamen, die richtigen Typen und das Limit jeder Operation in einem Schritt.
Manche Checks antworten bei schlechter Eingabe mit 200, weil der Check selbst funktioniert hat. Die E-Mail-Validierung ist so einer: Eine ungültige Adresse liefert 200 mit valid auf false. Entscheide anhand der Felder im Body.
Lies RateLimit-Remaining und RateLimit-Reset bei jeder Antwort. Werde langsamer, wenn wenig übrig ist, statt auf eine 429 zu warten. E-Mail-Checks erlauben 20 Aufrufe pro Minute, DNS- und Domain-Abfragen 10 und die Text-Bewertung 30.
Wenn du das Limit erreichst, warte die Sekunden aus Retry-After, bevor du es erneut versuchst. Das Feld hint im JSON-Body sagt, was du ändern sollst. Wiederhole nicht in einer engen Schleife; das hält das Fenster nur voll.
Eine Version wird mindestens 180 Tage nach Ankündigung ihres Nachfolgers unterstützt. Sobald eine Version abgekündigt ist, tragen Antworten Deprecation: true, einen Sunset-Header mit dem Abschaltdatum und einen Link-Header zu den Migrationshinweisen. Derzeit ist keine Version abgekündigt.
Dieselben Checks, auf zwei Arten.
Skripte, die du pflegen musst.
Eine Spec, eine Basis-URL.
Was es braucht, Outreach-Checks und Konto-Abläufe aus Code zu steuern, von Hand und mit FirstSales.
| Was du bekommst | Selbst bauen | FirstSales |
|---|---|---|
| Adress-Checks | Eigene MX-Abfragen | Aufrufe für Validierung, Wegwerf und Catch-all |
| SPF, DKIM und DMARC | Ein Parser pro Eintragstyp | Ein Aufruf oder alle zusammen, mit Wert |
| Text-Bewertung | Wortlisten, die du pflegst | Spam, Betreff, Text und ganzer Entwurf |
| Maschinenlesbarer Vertrag | Was der Code eben tut | OpenAPI 3.1 in JSON und YAML |
| Zugang für Agenten | Seiten auslesen | Öffentlicher MCP-Server mit zwölf Tools |
| Rate-Limits | Auf die harte Tour gelernt | Pro IP, in Headern sichtbar |
| Versionierung | Keine | /api/v1 mit 180 Tagen Abkündigungsfrist |
| Dein Konto per Code | Der Browser | Developer API, CLI und App-MCP-Server |
| Starte deine $1-Testphase | ||
Geh sie durch, bevor deine Integration live geht.
Echte Worte von echten Nutzern, in ihrer Originalsprache. Keine bezahlten Bewertungen.
“User Interface, Ease of Use, Able to hit the inbox in the first attempt.”
Sadashiv B.
Founder, small business
“One of the biggest pains in cold email is making sure that you have your DNS setup correctly. Firstsales has created a system to make sure you have done this correctly.”
Mike O
Trustpilot review
“I have always struggled in cold outreach. However, Firstsales has provided an excellent tool for cold outreach.”
Kaushal S.
Founder, small business
Deine Frage ist nicht dabei? Schreib uns.
Nicht für die öffentliche API und den öffentlichen MCP-Server. Sie decken E-Mail-Checks, DNS- und Domain-Abfragen, Text-Bewertung und Tutorials ab. Dein eigenes Konto brauchst du nur für die Developer API, die firstsales CLI und den App-MCP-Server.
Die öffentliche Spec ist OpenAPI 3.1, unter /openapi.json als JSON und unter /api/openapi.yaml als YAML. Die authentifizierte Developer API hat eine eigene Spec auf developer.firstsales.io.
Füge in der Konfiguration deines MCP-Clients einen Server namens firstsales mit der URL https://firstsales.io/mcp/ hinzu. Er nutzt Streamable HTTP, und die Tools stehen im Manifest unter /.well-known/mcp.json.
Limits gelten pro IP in einem 60-Sekunden-Fenster: 20 Aufrufe pro Minute für E-Mail-Checks, 10 für DNS- und Domain-Abfragen und 30 für die Text-Bewertung. Das genaue Limit jeder Operation steht in der Spec unter x-rateLimit, und jede Antwort trägt RateLimit-Header.
Der Endpoint antwortet mit 429, einem Retry-After-Header in Sekunden und einem JSON-Body mit den Feldern error, message und hint. Warte die Retry-After-Zeit ab, bevor du erneut aufrufst.
Die Version steht im Pfad. Die aktuelle Version ist v1, also ruf https://firstsales.io/api/v1/<operation> auf. Eine inkompatible Änderung kommt unter einem neuen Präfix, und eine Version wird mindestens 180 Tage nach Ankündigung ihres Nachfolgers unterstützt.
Installiere das npm-Paket @firstsales.io/cli. Es fügt ein Programm namens firstsales hinzu. Die CLI-Referenz auf developer.firstsales.io listet jeden Befehl.
Ja. Die öffentliche API funktioniert ohne Konto. Um die App und deine Konto-Zugänge zu testen, starte einen Test für $1 für 3 Tage. Tarife beginnen bei $29/Monat mit unbegrenzten Postfächern und Workspaces.
Verbinde unbegrenzte Postfächer und lass KI-Agenten Leads finden, jede E-Mail schreiben und nachfassen. Oder sende deine eigenen Vorlagen im manuellen Modus. Ab $29/Monat.
$1 für 3 Tage · Jederzeit kündbar · Kein Vertrag