Agency Spotter APIagencyspotter.com ↗
Access Agency Spotter's directory via API. Search agencies by keyword and location, retrieve staff profiles, client reviews, portfolio projects, and social links.
What is the Agency Spotter API?
The Agency Spotter API provides two endpoints for querying the Agency Spotter marketing agency directory. search_agencies returns paginated lists of up to 30 agency summaries per page, filterable by keyword and location, while get_agency_detail returns full profiles with 10+ distinct data categories including staff LinkedIn profiles, client reviews, portfolio projects, location details, and aggregate stats.
curl -X GET 'https://api.parse.bot/scraper/0666fa8d-3eb5-49e9-bf94-9a505e2cb7ca/search_agencies?page=1&query=digital+marketing&location=New+York' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace agencyspotter-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Agency Spotter SDK — discover agencies, drill into profiles."""
from parse_apis.agency_spotter_api import AgencySpotter, AgencyNotFound
client = AgencySpotter()
# Search for digital marketing agencies — limit caps total items fetched
for agency in client.agencysummaries.search(query="digital marketing", limit=5):
print(agency.name, agency.rating, agency.services)
# Drill down: take one agency summary, navigate to its full profile
summary = client.agencysummaries.search(query="SEO", limit=1).first()
if summary:
detail = summary.details()
print(detail.name, detail.stats.rating, detail.stats.review_count)
print(detail.location.city, detail.location.state)
# Walk reviews on the detailed profile
for review in detail.reviews[:3]:
print(review.title, review.overall_rating, review.reviewer_company)
# Walk staff LinkedIn profiles
for member in detail.staff[:3]:
print(member.name_hint, member.url)
# Direct lookup by slug via the agencies collection
try:
agency = client.agencies.get(slug="sociallyin")
print(agency.name, agency.website)
print(agency.social.linkedin, agency.social.twitter)
except AgencyNotFound as exc:
print(f"Agency not found: {exc}")
print("exercised: agencysummaries.search / summary.details / agencies.get")
Search the Agency Spotter directory for agencies by keyword and location. Returns a paginated list of agency summaries including name, slug, rating, and services. Results are ordered by relevance. Each page returns up to 30 agencies. Omitting all filters returns the full directory browsed alphabetically.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| query | string | Agency name or keyword to search for (e.g. 'digital marketing', 'SEO') |
| location | string | Location to filter results by (e.g. 'New York', 'Los Angeles') |
{
"type": "object",
"fields": {
"page": "string indicating the current page number",
"agencies": "array of agency summary objects with name, slug, location, rating, reviews_count, services, about, and logo"
}
}About the Agency Spotter API
Search the Agency Directory
The search_agencies endpoint accepts a query string (e.g. 'SEO', 'brand strategy') and an optional location filter (e.g. 'Chicago', 'Los Angeles'). It returns a paginated result set — up to 30 agencies per page — with each agency summary containing name, slug, location, rating, reviews_count, a services array, an about description, and a logo URL. Omitting both filters returns the full directory in relevance order. The page parameter controls pagination.
Full Agency Profiles
The get_agency_detail endpoint takes a slug (obtained from search_agencies results) and returns a complete agency record. The staff array includes individual LinkedIn profile URLs. The reviews array contains per-review ratings, text comments, and reviewer details. The projects array holds portfolio entries with title, description, client name, and media. The social object exposes LinkedIn, Facebook, and Twitter URLs, and stats includes aggregate rating, review_count, team size, and budget_min.
Location and Contact Data
Each detailed profile includes a structured location object with street, city, state, zip, and country, plus an other_locations field for agencies operating across multiple offices. The website field links directly to the agency's external site. These fields make the API useful for building lead lists segmented by geography or constructing enriched agency profiles from a single request.
The Agency Spotter API is a managed, monitored endpoint for agencyspotter.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when agencyspotter.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official agencyspotter.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build an agency shortlist tool that filters by service type and city using
queryandlocationparams - Enrich a CRM with agency contact data by pulling
website,social, andlocationfields fromget_agency_detail - Aggregate client sentiment by collecting
reviewsarrays across multiple agency profiles - Source staff LinkedIn profiles at scale using the
staffarray from detailed agency records - Compare agencies by
budget_minandratingfrom thestatsobject to match client budget requirements - Compile a portfolio research dataset using
projectsfields including title, client, and media - Monitor agency presence in a specific market by paginating
search_agencieswith a fixedlocationfilter
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Agency Spotter have an official developer API?+
What does `search_agencies` return versus `get_agency_detail`?+
search_agencies returns summary-level data: name, slug, location, rating, reviews_count, services list, about text, and logo. get_agency_detail returns the full profile — staff with LinkedIn URLs, individual reviews with comments, portfolio projects, social media links, structured location fields, and aggregate stats like budget_min and team size. The slug from search results is the required input for the detail endpoint.How does pagination work in `search_agencies`?+
page field indicating the current page number. Pass the page integer parameter to step through additional results. Omitting query and location returns the full directory, also paginated at 30 per page.Does the API return agency pricing or hourly rate data beyond `budget_min`?+
budget_min as part of the stats object in get_agency_detail. Detailed hourly rate ranges or project-specific pricing are not included in the current response shape. You can fork this API on Parse and revise it to add an endpoint targeting that data if Agency Spotter surfaces it on individual profile pages.Are agencies from outside the United States included in results?+
location filter is a free-text string, so you can query cities or countries outside the US. The location object in get_agency_detail includes a country field, and many international agencies are listed in the Agency Spotter directory. However, directory coverage depth varies by region — results for less-represented markets may be sparse. If you need a region-specific filter not covered by the current location param behavior, you can fork the API on Parse and revise it to add that constraint.