BYTETOOLS

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.

No API key requiredCORS enabledHTTPSFree tier

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
curl 'https://www.pickanagency.com/api/v1/search?service=SEO&limit=2'
JavaScript (fetch)
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);
Python (requests)
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())
Response — HTTP 200 (truncated)
{
  "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

ParameterTypeRequiredDescription
servicequeryOptionalService to filter on, such as `SEO`, `PPC` or `Public Relations`. SEO
limitqueryOptionalHow many agencies to return. 2
locationqueryOptionalCity or country filter. Amsterdam
/agencies/{slug}pathOptionalFetch one agency's full profile by its slug.
/matchpathOptionalCompanion 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

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.