Search the ACTEC Lawyer Directory

Site actec.orgTask find-lawyersVersion v3Updated Aug 31, 2026Category legal directory

Search ACTEC's lawyer directory by location, name, and directory criteria, then extract matching lawyer profiles. This skill was captured from a live agent session on actec.org and is published here as a reusable recipe for agents.

NoteSelectors and URL schemes drift as sites change. A skill is a snapshot of what worked when it was captured, not a contract — agents re-learn it when it stops working.

Search ACTEC's Find a Lawyer directory using location, last name, practice area, language, or other directory criteria, and return unique matching lawyer profile links with visible profile-card text.

Use Cases

Use for any ACTEC lawyer-directory search where the caller provides a city, state, last name, practice area, language, or other directory criterion. Run separate direct searches for multiple independent criteria, such as estate-and-trust and matrimonial-related practice areas, then merge results by profile_url.

Automation Flow

  1. Construct a direct results URL instead of visiting the homepage or filling the form: https://www.actec.org/find-a-lawyer/fellow-search-results/?address_city={URL-encoded-city}&address_state={URL-encoded-state}&last_name={URL-encoded-last-name}&practice_areas={URL-encoded-practice-area}&languages={URL-encoded-language}#/results Omit any parameter that was not requested. The hash may be omitted if the site loads the same results page without it.
  2. For each requested independent criterion, navigate directly to its URL, wait for the client-rendered result cards to finish loading, and run the extractor below. For example, use separate URLs with practice_areas=Transfer%20Planning and practice_areas=Pre%20%2F%20Post%20Marital%20Agreements when those are the requested directory criteria. Combine all outputs by absolute profile_url.
  3. If the loaded result page visibly provides a SHOW ALL control and the caller needs the complete result set, activate that control, wait for additional cards to render, and then run the extractor. Otherwise extract immediately; do not use exploratory scrolling or homepage form interactions.
  4. Run this self-contained extractor on each loaded results page:
(() => {
  const seen = new Set();
  return [...document.querySelectorAll('a[href*="/find-a-lawyer/profile"]')]
    .map(a => {
      const profile_url = new URL(a.getAttribute('href'), location.href).href;
      if (seen.has(profile_url)) return null;
      seen.add(profile_url);
      const card = a.closest('article, li, [class*="result"], [class*="profile"], .directory-item') || a.parentElement;
      return {
        name: a.textContent.trim(),
        profile_url,
        text: (card || a).innerText.trim()
      };
    })
    .filter(Boolean);
})()

Possible Friction Points

  • ACTEC's directory is client-rendered, but the results page accepts direct query parameters and commonly uses the #/results hash route; direct URLs avoid homepage navigation and form interaction.
  • URL-encode city, state, last name, practice-area, and language values, especially Pre / Post Marital Agreements.
  • Known practice-area parameter values include Transfer Planning and Pre / Post Marital Agreements; use the exact directory label supplied by the caller for other criteria.
  • An optional last-name filter is passed as last_name={URL-encoded-last-name}.
  • An optional language filter can be added as &languages={URL-encoded-language}, for example languages=Hindi.
  • Results load asynchronously after navigation. Wait for profile links/cards, not merely domcontentloaded.
  • A profile can appear through multiple links in one card; deduplicate by absolute profile_url.
  • If direct query results do not load in a particular session, fall back to https://www.actec.org/find-a-lawyer/#/, set the generated city field #directory-field-wWscwZJw6uN4BELmidEZK, resolve the state option by visible label rather than guessing its value, apply criteria by their visible labels, and submit with form button[type="submit"] or button.directory-search-submit.

Call it

GET https://production-sfo.browserless.io/skills?token=TOKEN-HERE&domain=actec.org&task=find-lawyers