Pick an Agency API
Free agency directory API with no key: search 47,000+ marketing agencies by service and location, with ratings, team size, industries served and budget floor. Tested example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the Pick an Agency API?
Pick an Agency exposes a directory of more than 47,000 marketing agencies through a keyless search API. Results carry the agency name, tagline, city and country, review rating and count, the services and industries it covers, team size, founding year and minimum budget.
Agency directories are usually paywalled or pay-to-list, which makes an open, queryable one unusual. This search endpoint filters by service and location and returns enough structure to build a comparison view directly: `services` and `industries` come back as arrays rather than as prose, so faceting works without any text processing.
The fields that matter for actually shortlisting are `min_budget_usd`, `team_size` and `is_verified`. Budget floor is the quickest disqualifier — knowing an agency will not engage below a threshold saves everyone's time — although it is null for many entries. `is_verified` distinguishes agencies the directory has confirmed from self-submitted listings, and it is false more often than not, so treat ratings on unverified entries with more caution. There is a companion `/api/v1/match` endpoint that takes several services at once for a broader shortlist.
Quick facts
- Base URL
https://www.pickanagency.com/api/v1- Authentication
- No API key and no account. An OpenAPI specification is published at `/api/v1/openapi.json`.
- Rate limit
- No published limit. The directory changes slowly — cache search results.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the Pick an Agency API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. Search agencies by service
GET https://www.pickanagency.com/api/v1/search?service=SEO&limit=2
curl 'https://www.pickanagency.com/api/v1/search?service=SEO&limit=2'const res = await fetch("https://www.pickanagency.com/api/v1/search?service=SEO&limit=2");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://www.pickanagency.com/api/v1/search?service=SEO&limit=2", timeout=20)
res.raise_for_status()
print(res.json()){
"count": 2,
"results": [
{
"slug": "prlab-b2b-tech-pr-agency-amsterdam",
"name": "PRLab | B2B Tech PR Agency",
"tagline": "We've helped +200 clients achieve their business goals with the power of Strategic PR across key markets.",
"location": {
"city": "Amsterdam",
"country": "Netherlands"
},
"rating": 5,
"total_reviews": 46,
"services": [
"Public Relations",
"Crisis Communications",
"SEO",
"GEO",
"PR Funding Announcements",
"Internal Communications",
"Digital Public Relations"
],
"industries": [
"Fintech",
"Financial",
"BioTech",
"Cybersecurity",
"Blockchain",
"SaaS",
"Cleantech",
"HealthTech",
"HealthCare",
"Corporate",
"Logistics",
"Web3",
"Crypto",
"Industrial",
"Events",
"Tech",
"AI",
"Gaming",
"Robotics"
],
"team_size": "11-50",
"founded_year": 2023,
"min_budget_usd": null,
"website": "https://prlab.co/",
"is_verified": false,
"profile_url": "https://www.pickanagency.com/agencies/prlab-b2b-tech-pr-agency-amsterdam"
},
{
"slug": "sixth-city-marketing-chicago",
"name": "Sixth City Marketing",
"tagline": "ROI-Driven Marketing to Help Your Company See Real Organic Revenue Growth",
"location": {
"city": "Cleveland",
"country": "United States"
},
"rating": 5,
"total_reviews": 36,Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
service | query | Optional | Service to filter on, such as `SEO`, `PPC` or `Public Relations`. SEO |
limit | query | Optional | How many agencies to return. 2 |
location | query | Optional | City or country filter. Amsterdam |
/agencies/{slug} | path | Optional | Fetch one agency's full profile by its slug. |
/match | path | Optional | Companion endpoint taking several services at once for a broader shortlist. |
Response fields
countinteger- Number of agencies in this response.
resultsarray- The matching agencies.
results[].slug / namestring- Directory identifier and display name. The slug fetches the full profile.
results[].taglinestring- The agency's own positioning line, as written by them.
results[].locationobject- `city` and `country` as separate fields.
results[].rating / total_reviewsinteger- Average review score and how many reviews it rests on. A 5 from two reviews is not a 5 from two hundred.
results[].servicesarray- Services offered, matching the values the `service` filter accepts.
results[].industriesarray- Client industries served, which can run to twenty entries for generalist agencies.
results[].team_sizestring- Headcount band such as `11-50`.
results[].founded_yearinteger- Year the agency was founded.
results[].min_budget_usdinteger- Minimum engagement budget in USD. Null for many entries.
results[].is_verifiedboolean- Whether the directory has verified the listing. False for self-submitted entries.
results[].website / profile_urlstring- The agency's own site and its directory profile page.
What you can build with the Pick an Agency API
- Build an agency shortlist filtered by service and budget
- Analyse agency density by city or specialism
- Enrich a procurement workflow with directory data
- Compare team size against review volume across a service category
Common errors and how to fix them
Empty results
The service value did not match the directory's taxonomy.
Fix: Use values the API itself returns in the `services` arrays, such as `Public Relations` rather than `PR`.
Null min_budget_usd
Many agencies do not publish a floor.
Fix: Treat null as unknown rather than as no minimum, and do not filter it out silently.
Perfect ratings everywhere
Ratings rest on very different review counts.
Fix: Always read `rating` alongside `total_reviews`, and weight `is_verified` entries more heavily.
Very long industries array
Generalist agencies list nearly everything.
Fix: A twenty-entry industries list is a weak specialism signal. Cross-check against `services`.
Pick an Agency API — frequently asked questions
Is the Pick an Agency API free?
Yes, free with no key and no account, and an OpenAPI specification is published at `/api/v1/openapi.json`.
How many agencies are in the directory?
More than 47,000, filterable by service and location. The `count` field reports how many your particular query matched.
What does is_verified mean?
That the directory has confirmed the listing rather than accepting it as self-submitted. It is false for many entries, which is worth weighing when you read their ratings.
Can I match on several services at once?
Yes. The companion `/api/v1/match` endpoint accepts multiple services and returns a broader shortlist than the single-service search.
Tools that pair with this API
Compare Two Lists
Paste two lists and instantly see items in both, only in list A, only in list B, and the combined set — with case-insensitive and trim options.
CSV Column Statistics Calculator
Profile a CSV column by column: type, blanks, distinct values, min, max, mean, median, standard deviation and percentiles, plus top values — all in-browser.
Percentage Calculator
Calculate what X% of a number is, what percent one number is of another, and percentage increase or decrease between two values — instantly and free.
Pick an Agency is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.