In a nutshell: The Rodz API lets you programmatically access real-time intent data for B2B prospecting. In this guide, you will create your account, grab your API key, authenticate using a Bearer token, and make your first request to list available signal types. By the end, you will have a working setup ready to integrate intent signals into your sales workflow.
What Is the Rodz API? An Intent Data API for B2B Prospecting
The Rodz API is a RESTful interface that gives you programmatic access to intent data, the real-time events that indicate when a company is likely to need your product or service. Intent signals include funding rounds, leadership changes, office relocations, hiring surges, technology adoptions, and dozens of other detectable events that reveal purchase intent.
Instead of relying on static firmographic filters like industry or company size, the Rodz API enables you to build integrations that react to what is actually happening at your target accounts right now. When a company raises a Series B, hires its first VP of Sales, or opens an office in a new market, that event flows through the API as a structured intent signal you can route into your CRM, sequencing tool, or custom application.
The API follows standard REST conventions. It accepts and returns JSON, uses Bearer token authentication, and provides predictable HTTP status codes. If you have worked with any modern SaaS API, you will feel right at home.
This guide covers everything you need to go from zero to your first successful API call. For the full endpoint reference, including rate limits and error codes, see the Rodz API Reference.
Prerequisites
Before you begin, make sure you have the following:
-
A Rodz account. Sign up at https://app.rodz.io/register if you do not have one yet. The free tier gives you enough API calls to follow this tutorial and explore the platform.
-
A terminal or command-line tool. This guide uses cURL for all examples. cURL comes pre-installed on macOS and most Linux distributions. On Windows, you can use Git Bash, WSL, or PowerShell (which includes
curlas an alias forInvoke-WebRequest). -
Basic familiarity with HTTP and JSON. You should understand what a GET request is and be comfortable reading JSON responses. No advanced programming knowledge is required.
-
A text editor. Any editor works. You will use it to save your API key and inspect responses.
-
Optional: a REST client. Tools like Postman, Insomnia, or the VS Code REST Client extension can make exploring the API more comfortable, but they are not required.
Step 1: Create Your Rodz Account and Get Your API Key
If you already have a Rodz account, skip to the API key retrieval step.
Create your account
Navigate to https://app.rodz.io/register and complete the registration form. You will need a valid business email address. After confirming your email, you will land on the Rodz dashboard.
Retrieve your API key
- Log in to the Rodz dashboard at https://app.rodz.io.
- Click on Settings in the left sidebar.
- Navigate to the API tab.
- Your API key is displayed under the API Key section. Click the copy icon to copy it to your clipboard.
Your API key looks something like this:
rz_live_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
Keep this key secure. It grants full access to your Rodz account via the API. Do not commit it to version control, share it in public channels, or embed it in client-side code. If you suspect your key has been compromised, you can regenerate it from the same settings page.
Step 2: Understand the Authentication Method
The Rodz API uses Bearer token authentication. This means you include your API key in the Authorization header of every HTTP request, prefixed with the word Bearer.
Here is the header format:
Authorization: Bearer your_api_key_here
This is the same authentication pattern used by APIs from Stripe, GitHub, and many other platforms. Every request to the Rodz API must include this header. Requests without a valid Authorization header will receive a 401 Unauthorized response.
There are no OAuth flows, session tokens, or multi-step handshakes. One key, one header, and you are in.
Quick verification
You can verify that your API key works by making a simple request to the health check endpoint:
curl -X GET https://api.rodz.io/v1/health \
-H "Authorization: Bearer your_api_key_here"
A successful response looks like this:
{
"status": "ok",
"timestamp": "2026-03-05T10:30:00Z"
}
If you see this, your API key is valid and you are ready to make real requests.
Step 3: Make Your First API Request
Now that your authentication is working, let’s make a meaningful request. The most natural starting point is to list all available signal types. This tells you what kinds of intent signals you can track through the Rodz platform.
List available signal types
curl -X GET https://api.rodz.io/v1/signals/types \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json"
Understanding the response
The API returns a JSON object containing an array of signal types. Here is an example response:
{
"data": [
{
"id": "funding_round",
"name": "Funding Round",
"description": "Triggered when a company raises a new round of funding.",
"category": "financial",
"available_filters": ["amount_min", "amount_max", "round_type", "country"]
},
{
"id": "new_hire",
"name": "New Hire",
"description": "Triggered when a company posts new job openings or makes key hires.",
"category": "hiring",
"available_filters": ["department", "seniority", "country"]
},
{
"id": "office_relocation",
"name": "Office Relocation",
"description": "Triggered when a company opens, closes, or moves an office.",
"category": "expansion",
"available_filters": ["country", "city"]
},
{
"id": "technology_adoption",
"name": "Technology Adoption",
"description": "Triggered when a company adopts or drops a specific technology.",
"category": "technology",
"available_filters": ["technology_name", "action"]
}
],
"meta": {
"total": 24,
"page": 1,
"per_page": 10
}
}
Let’s break down the structure:
data: An array of signal type objects. Each object includes anid(used in subsequent API calls), a human-readablename, adescription, acategory, and an array ofavailable_filtersyou can use when configuring that signal.meta: Pagination metadata. Thetotalfield tells you how many signal types exist. Thepageandper_pagefields indicate the current pagination state.
Paginate through results
If you want to see all signal types, use the page and per_page query parameters:
curl -X GET "https://api.rodz.io/v1/signals/types?page=2&per_page=10" \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json"
Or request all results at once with a larger page size:
curl -X GET "https://api.rodz.io/v1/signals/types?per_page=50" \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json"
Step 4: Inspect a Specific Signal Type
Once you know which signal types are available, you can fetch details about a specific one using its id:
curl -X GET https://api.rodz.io/v1/signals/types/funding_round \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json"
The response provides full configuration details for that signal type, including all available filters, default values, and example payloads. This is the information you will need when you move on to configuring your first intent signal.
Step 5: Handle Errors Gracefully
No API integration is complete without proper error handling. The Rodz API uses standard HTTP status codes and returns structured error messages in JSON format.
Common error codes
Here are the errors you are most likely to encounter:
401 Unauthorized - Your API key is missing, invalid, or expired.
{
"error": {
"code": "unauthorized",
"message": "Invalid or missing API key. Please check your Authorization header.",
"status": 401
}
}
Fix: Double-check that your Authorization header includes the Bearer prefix and that your API key is correct. A common mistake is omitting the space between Bearer and the key.
403 Forbidden - Your API key is valid, but you do not have permission to access the requested resource.
{
"error": {
"code": "forbidden",
"message": "Your current plan does not include access to this resource.",
"status": 403
}
}
Fix: This usually means the endpoint or signal type requires a higher-tier plan. Check your subscription in the Rodz dashboard or contact the team to discuss your needs.
429 Too Many Requests - You have exceeded the rate limit.
{
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Please retry after 60 seconds.",
"status": 429,
"retry_after": 60
}
}
Fix: Implement exponential backoff in your integration. The retry_after field tells you exactly how many seconds to wait before retrying. For details on rate limits by plan, check the API Reference.
Best practices for error handling
- Always check the HTTP status code before parsing the response body. A
2xxstatus means success. Anything else means something went wrong. - Log error responses including the
codeandmessagefields. These are designed to be human-readable and will speed up debugging. - Implement retry logic for
429and5xxerrors. Use exponential backoff with jitter to avoid thundering herd problems. - Never retry
401or403errors automatically. These require a configuration fix, not a retry.
Step 6: Where to Go From Here
You now have a working connection to the Rodz API. Here is the recommended path to building a complete integration:
-
Configure your first signal. Follow the Configure Your First Intent Signal guide to set up a signal that watches for funding rounds, new hires, or any event that matters to your prospecting workflow.
-
Set up real-time delivery. Instead of polling the API, configure webhooks to receive signals the moment they fire. The Real-Time Intent Signals: Set Up Rodz Webhooks guide walks you through the process.
-
Explore the full API reference. The Rodz API Reference covers every endpoint, all request and response schemas, rate limits, and advanced filtering options.
-
Read the Rodz blog. The Rodz blog covers strategies for intent-based prospecting, use cases across industries, and practical tips for getting the most out of your intent data.
Frequently Asked Questions
What programming languages can I use with the Rodz API?
Any language that can make HTTP requests works with the Rodz API. The examples in this guide use cURL, but you can use Python (with requests or httpx), JavaScript (with fetch or axios), Ruby, Go, PHP, Java, or any other language. The API is language-agnostic because it follows standard REST conventions and communicates over HTTP with JSON payloads.
Is there an SDK or client library available?
The Rodz API is designed to be straightforward enough that you do not need a dedicated SDK. That said, client libraries for popular languages are on the roadmap. For now, a simple HTTP wrapper function in your language of choice is all you need.
How do I keep my API key secure?
Store your API key in environment variables, not in your source code. Most deployment platforms (Vercel, Railway, AWS, etc.) support environment variables natively. In local development, use a .env file and make sure it is listed in your .gitignore. Never log your API key or include it in URLs as a query parameter.
What are the rate limits?
Rate limits depend on your plan. The free tier allows a generous number of requests for development and testing. Production plans offer higher throughput. The exact limits are documented in the API Reference. If you hit a rate limit, the API responds with a 429 status code and a retry_after field indicating when you can safely retry.
Can I use the API in a staging or test environment?
Yes. Your API key works in both development and production. The Rodz API does not differentiate between environments on the key level. If you want to avoid affecting production configurations while testing, you can create signal configurations with a test-specific naming convention and delete them afterward.
What happens if the API is down?
The Rodz API is monitored around the clock, and any outages are communicated proactively. In your integration, implement retry logic with exponential backoff for 5xx errors. For mission-critical use cases, consider caching recent responses locally so that your workflow continues to operate even if the API is temporarily unreachable.
How do I get support if I am stuck?
The fastest way to get help is to book a call with the Rodz team. You can also browse the interactive API documentation at https://api.rodz.io/docs, which includes live request builders and response previews.
Can I use the Rodz API alongside my existing CRM?
Absolutely. The Rodz API is designed to complement your existing sales stack. Most teams push intent data into their CRM (HubSpot, Salesforce, Pipedrive, etc.) via custom integrations or automation platforms like Make. Once you have intent signals flowing through the API, routing them to your CRM is a matter of mapping fields and triggering the right actions.
Start Building
You are now ready to integrate real-time intent data into your B2B prospecting workflow. The Rodz API gives you the data; how you act on it is up to you.
Two resources to keep bookmarked:
- Interactive API documentation for exploring endpoints, testing requests, and reading detailed schema definitions.
- Book a call if you want help designing your integration or discussing which signals are most relevant for your business.
Intent-based prospecting is about reaching the right company at the right moment. With the API connected, you are one step closer to making that happen at scale.