An agent is someone or something authorized to “act on behalf of” another person. In professional sports, for example, an athlete’s agent may be authorized to negotiate the athlete’s contract, but may or may not be authorized to accept the terms of a contract. Similarly, an Internet agent acts on behalf of a person who wishes to conduct some activity utilizing the Internet. The capabilities and authority invested in such an agent are at the discretion of the person it represents. Typically Internet agents perform search and data collection activities. They may or may not have authority to negotiate or conduct purchase or sale transactions. Internet agents have varying levels of sophistication including lifespan, error detection and recovery, data validation, and embedded intelligence (Kauffman et al. 1999). A simple Internet agent, for example, may contact a single Web site (e.g., Amazon.com), extract a single fact (e.g., the price of a specified book) and report that fact to the user. A more sophisticated Internet agent may contact multiple Web sites (e.g., Amazon.com and BarnesAndNoble.com), track facts for several days or weeks (e.g., prices of a basket of books), record those facts for later analysis (e.g., in a database), and conduct transactions (e.g., purchase a subset of the basket of books when prices and availability meet given criteria). Today’s component-based, rapid application development environments allow individuals with very limited programming experience to build relatively sophisticated Internet agents without lengthy courses in Internet protocols or advanced programming techniques. Using development environments such as Visual Basic 6.0, simple but non-trivial Internet agents can be specified using a handful of components and a few dozen lines of code. The following sections present a single example illustrating the most rudimentary capabilities needed to create an Internet agent. This agent merely retrieves the raw HTML from a specified URL. A more complete tutorial, available at http://www.internet- technology.org/tutorials/agents/visualbasic/march includes examples of more sophisticated agents having more useful capabilities. These include following links, extracting and interpreting the data, and storing that data in a database for later analysis.