Looking for the right ad agency? Try Pick an Agency.
Get Matched for FreePick an Agency · Developers
Query the same directory that powers this site — 47,000+ verified marketing agencies (129,000+ indexed) across 90+ countries — through a plain REST API or an MCP server. No API key, no signup, CORS enabled.
Base URL https://www.pickanagency.com/api/v1 — three read-only endpoints, JSON responses, machine-readable spec at /api/v1/openapi.json.
GET /searchBrowse and filter the directorycurl "https://www.pickanagency.com/api/v1/search?service=SEO&city=Berlin&min_rating=4.5&limit=5"
| q | Free-text search: agency name or keyword |
| service | e.g. SEO, Social Media Marketing, Paid Advertising |
| country / city | e.g. United States · Berlin |
| industry | Industry focus, e.g. SaaS, Healthcare |
| min_rating | Minimum overall rating, 0–5 |
| limit | Max results, 1–25 (default 10) |
GET /agencies/{slug}One full profile + recent reviewscurl "https://www.pickanagency.com/api/v1/agencies/ogilvy"
Returns the agency's profile (services, location, rating, team size, website) plus up to 3 recent client reviews. Find slugs via /search.
GET /matchRanked shortlist for a briefcurl "https://www.pickanagency.com/api/v1/match?services=SEO,Content%20Marketing&country=France&budget=5000"
The engine behind Get Matched: describe what you need (services is required, comma-separated) and get back a scored shortlist of up to 10 agencies.
Claude, ChatGPT, Cursor and other MCP clients can query the directory natively — same three capabilities (search_agencies, get_agency, match_agencies), no auth.
Streamable HTTP endpoint: https://www.pickanagency.com/api/mcp/mcp Or via npm (stdio proxy): npx pickanagency-mcp
Source and install instructions: github.com/Natden444/pickanagency-mcp
The API is free for apps, research, journalism and AI tools under CC BY 4.0: when you display the data publicly, credit Pick an Agency with a link to pickanagency.com or to the agency's profile_url.
Be reasonable: responses are CDN-cached, so cache on your side too and keep it well under a few requests per second. Need bulk data, higher volume or a field we don't expose? Email hello@pickanagency.com — we're happy to help. How the data is collected and verified is documented in the methodology.
const res = await fetch(
"https://www.pickanagency.com/api/v1/search?service=PPC&country=United%20States&limit=3"
);
const { results } = await res.json();
// [{ name, slug, rating, services, location, profile_url, ... }]Tell us what you're making — we feature the best integrations and can help with data questions.