
Learn how to download, install, and configure PyScripter to work with the ArcGIS API for Python. In this step-by-step tutorial, you’ll see how to connect PyScripter to the Python environment that comes with ArcGIS Pro, verify the ArcGIS library, and get your IDE ready for standalone GIS scripting.
You do not need to use PyScripter for this course. You can use any Python IDE of choice.
Learn exactly how to access ArcGIS Online using the ArcGIS API for Python and the GIS class. In this step-by-step tutorial, you’ll explore multiple authentication methods including anonymous access, built-in accounts, Pro and home strings, and secure profile-based logins so you can confidently connect to your organization’s ArcGIS Online and start automating workflows. Accessing ArcGIS Online is the first line of code when using the ArcGIS API for Python! Whether you're building standalone scripts, working inside ArcGIS Online Notebooks, or presenting Python workflows, this video shows the best practices for logging in safely and efficiently.
What you’ll learn:
How the GIS class connects you to ArcGIS Online
Anonymous access vs. organization-level access
Using home/pro strings from ArcGIS Pro
Secure login with profiles (recommended method)
Where your encrypted credentials are stored
Learn how to check if a Feature Service name already exists in ArcGIS Online using the ArcGIS API for Python. In this quick, beginner-friendly tutorial, we walk through the is_service_name_available() method, explain how service names differ from titles, and show you exactly how to avoid duplicate names before creating new Feature Services. Perfect for GIS developers, analysts, and anyone automating AGOL workflows.
You will see...
How to access the Content Manager in ArcGIS Online
How the is_service_name_available() method works
Real code example you can use immediately
Learn how to create a Hosted Feature Service in ArcGIS Online using the ArcGIS API for Python. In this step-by-step tutorial, you’ll see exactly how to use the create_service() method, set item properties, define spatial reference, and publish an empty Feature Service ready for layers and tables you'll add later in later videos. Perfect for GIS developers, analysts, and anyone building automated ArcGIS Online workflows.
By the end of this video, you’ll understand how to:
Connect to your ArcGIS Online organization with the API
Check for available service names
Configure item properties, extent, and service type
Create an empty hosted Feature Service programmatically
Learn how to access Item Objects in ArcGIS Online using the ArcGIS API for Python. In this focused tutorial, you’ll retrieve a hosted Feature Service by its item ID, understand how the content.get() method works.
In this video, you will learn how to:
Retrieve any content item using the content.get() method
Identify item types
Prepare for deeper item-level property editing in upcoming videos
Explore the Item Object class properties available in the ArcGIS API for Python and learn how to inspect and understand ArcGIS Online content at a deeper level. In this walkthrough, you’ll use the content.get() method to retrieve a Feature Service item and then review item properties such as can_delete, content_status, homepage, sharing, comments, ratings, and view layers.
In this video, you will learn how to:
Access Item Object class properties documented in the API
Inspect sharing, status, and other item-level attributes
Understand that there are helper (properties) classes such as the SharingManager
Learn how to access and the JSON properties of an Item Object in ArcGIS Online using the ArcGIS API for Python. In this tutorial, you will see how to convert an Item Object to a dictionary, inspect its full JSON structure, and understand where key metadata—like item ID, owner, extent, keywords, and service details are stored.
In this video, you will learn how to:
Cast an Item Object to a Python dictionary
Explore full JSON metadata using json.dumps()
Understand differences between class properties and JSON properties
Access JSON-based properties using dot notation
Learn how to update Feature Service Item Object properties in ArcGIS Online using the ArcGIS API for Python. In this practical tutorial, you’ll use the item.update() method to modify key homepage properties including title, summary, description, tags, terms of use, and credits.
Note: In this video I state that the item_properties parameter is required for the update() method as shown in the documentation. But this is not correct, as we will see in the following video when we update the item thumbnail with the update() method.
In this video, you will learn how to:
Build an item properties dictionary for updates
Use the update() method to edit homepage metadata
Confirm successful updates through the API and ArcGIS Online
Learn how to update thumbnails for ArcGIS Online items using the ArcGIS API for Python. In this tutorial, you'll see two methods in action: updating a thumbnail through the general item.update() method, and updating it directly with item.update_thumbnail(). Whether you are automating content branding or managing large volumes of hosted items, this walkthrough shows exactly how to replace thumbnails programmatically.
In this video, you will learn how to:
Update a thumbnail using the update() method (without item properties)
Update a thumbnail using the dedicated update_thumbnail() method
Learn how to create and work with the Feature Layer Collection (FLC) object in the ArcGIS API for Python. The FLC is your primary gateway to advanced feature service properties, settings, layers, and tables in ArcGIS Online. In this tutorial, you’ll see two practical methods for generating an FLC object from a feature service item, using both the class constructor and the fromitem() class method.
In this video, you will learn:
How to generate an FLC using the feature service URL
How to create an FLC directly from an item object
Learn how to inspect and print FeatureLayerCollection (FLC) properties using the ArcGIS API for Python. In this short tutorial, you’ll see how to access the JSON properties behind a feature service in ArcGIS Online and understand key properties such as capabilities, supported export formats, layers, and tables.
In this video, you will learn:
How to create a Feature Layer Collection object from a feature service item
Two ways to access FLC properties using the API
How to view the underlying JSON that defines a feature service
Learn how to update Feature Layer Collection properties in ArcGIS Online using the ArcGIS API for Python. In this tutorial, you will work with the FeatureLayerCollectionManager and use the update_definition() method to feature service properties directly through Python.
In this video, you will learn how to:
Access the Feature Layer Collection Manager
Use the update_definition() method correctly
Update existing feature service properties like description, max record count, and copyright
Validate updates by rechecking the service’s JSON properties
Learn how to add a point feature layer to a feature service in ArcGIS Online using the ArcGIS API for Python. In this tutorial, you’ll use the Feature Layer Collection Manager and the add_to_definition() method to programmatically create a hosted point layer with fields, geometry, and indexing.
In the 06_Add_Layers_&_Tables folder there is a Python script named 06_Jump-in.py if you are revisiting or jumping-in at this point in the course. You can run this script before proceeding with this video.
In this video, you will learn how to:
Create a point feature layer definition using Python
Use the Feature Layer Collection Manager add_to_definition() method
Define geometry, fields, ObjectID, and indexes correctly
Verify the new layer in ArcGIS Online and view its symbology
Learn how to add a polyline feature layer to a feature service in ArcGIS Online using the ArcGIS API for Python. In this tutorial, you’ll use the Feature Layer Collection Manager and the add_to_definition() method to programmatically create a hosted polyline layer with fields, geometry, and indexing.
In this video, you will learn how to:
Create a polyline feature layer definition using Python
Use the Feature Layer Collection Manager add_to_definition() method
Define geometry, fields, ObjectID, and indexes correctly
Verify the new layer in ArcGIS Online and view its symbology
Learn how to add a polygon feature layer to a feature service in ArcGIS Online using the ArcGIS API for Python. In this tutorial, you’ll use the Feature Layer Collection Manager and the add_to_definition() method to programmatically create a hosted polygon layer with fields, geometry, and indexing.
In this video, you will learn how to:
Create a polygon feature layer definition using Python
Use the Feature Layer Collection Manager add_to_definition() method
Define geometry, fields, ObjectID, and indexes correctly
Verify the new layer in ArcGIS Online and view its symbology
Learn how to insert a feature layer into an existing hosted feature service in ArcGIS Online using the ArcGIS API for Python. In this tutorial, you will use the Feature Layer Collection Manager insert_layer() method to add external data from a zipped file geodatabase directly into an existing feature service.
In this video, you will learn how to:
Use the Feature Layer Collection Manager insert_layer() method
Add a polygon feature layer from a zipped file geodatabase
Understand limitations of the insert layer workflow
Verify the new layer in ArcGIS Online and review its schema and symbology
Learn how to add a table to a feature service in ArcGIS Online using the ArcGIS API for Python. In this tutorial, you’ll use the Feature Layer Collection Manager and the add_to_definition() method to programmatically add two tables with fields, and indexing.
In this video, you will learn how to:
Create a table definition using Python
Use the Feature Layer Collection Manager add_to_definition() method
Verify the new tables in ArcGIS Online
Learn how to create and access a FeatureLayer object in ArcGIS Online using the ArcGIS API for Python. In this tutorial, you’ll explore multiple methods for working with feature layers, including accessing them from an Item object, a FeatureLayerCollection, and directly from the FeatureLayer class using layer IDs and URLs.
In the 07_Feature_Layer_Object folder there is a Python script named 07_Jump-in.py if you are revisiting or jumping-in at this point in the course. You can run this script before proceeding with this video.
In this video, you will learn how to:
Access feature layers from a feature service item
Use the layers property and list indexing
Retrieve feature layers by name with list comprehension
Create FeatureLayer objects using FeatureLayerCollection
Instantiate a FeatureLayer directly from a layer URL
Learn how to inspect FeatureLayer JSON properties in ArcGIS Online using the ArcGIS API for Python. In this video, you’ll explore the properties property of a FeatureLayer object and understand how to read and access key metadata such as layer name, geometry type, fields, capabilities, extent, symbology, and more.
In this video, you will learn how to:
Access FeatureLayer JSON using the properties property
Explore layer metadata like fields, geometry, extent, and capabilities
Use dot notation to read individual FeatureLayer properties
Identify supported operations such as query, append, calculate, and truncate
Isolate a specific feature layer using list comprehension
Learn how to update FeatureLayer JSON properties in ArcGIS Online using the ArcGIS API for Python. In this video, you’ll use the FeatureLayer Manager and the update_definition() method to modify layer metadata such as name, description, and copyright text across multiple layers in a hosted feature service.
In this video, you will learn how to:
Use the FeatureLayerManager object to update layer definitions
Modify editable JSON properties like name, description, and acknowledgements
Apply updates to individual layers within a feature service
Verify updates directly in ArcGIS Online
Learn how to create and access a Table object in ArcGIS Online using the ArcGIS API for Python. In this tutorial, you’ll explore multiple methods for working with tables, including accessing them from an Item object, a FeatureLayerCollection, and directly from the Table class using table IDs and URLs.
In the 08_Table_Object folder there is a Python script named 08_Jump-in.py if you are revisiting or jumping-in at this point in the course. You can run this script before proceeding with this video.
In this video, you will learn how to:
Access tables from a feature service item
Use the tables property and list indexing
Retrieve tables by name with list comprehension
Create Table objects using FeatureLayerCollection
Instantiate a Table directly from a layer URL
Learn how to inspect Table JSON properties in ArcGIS Online using the ArcGIS API for Python. In this video, you’ll explore the properties property of a Table object and understand how to read and access key metadata such as layer name, fields, capabilities, and more.
In this video, you will learn how to:
Access Table JSON using the properties property
Explore layer metadata like fields, relationships, and capabilities
Use dot notation to read individual Table properties
Identify supported operations such as query, append, calculate, and truncate
Isolate a specific table using list comprehension
Learn how to update Table JSON properties in ArcGIS Online using the ArcGIS API for Python. In this video, you’ll use the FeatureLayerManager and the update_definition() method to modify table metadata such as name, description, and copyright text across multiple tables in a hosted feature service.
In this video, you will learn how to:
Use the FeatureLayerManager object to update table definitions
Modify editable JSON properties like name, description, and copyrightText
Apply updates to individual tables within a feature service
Verify updates directly in ArcGIS Online
Learn how to enable and disable delete protection for a Feature Service in ArcGIS Online using the ArcGIS API for Python. In this video, you will work with the Item object, use the protect() method, and check the protected property to prevent feature services from being accidentally deleted.
In the 09_Feature_Layer_Settings folder there is a Python script named 09_Jump-in.py if you are revisiting or jumping-in at this point in the course. You can run this script before proceeding with this video.
In this video, you will learn how to:
Enable delete protection on a Feature Service item
Disable delete protection programmatically
Use the Item protect() method correctly
Verify delete protection status with the protected property
Automate ArcGIS Online content management with Python
In this video, you will learn how to set and manage the Content Status of an ArcGIS Online item using the ArcGIS API for Python. We walk through marking a feature service as Authoritative, Deprecated, or resetting it to None, and show how these changes appear in ArcGIS Online.
In this video, you will learn how to:
Use the content_status property on an Item object
Mark items as Authoritative or Deprecated with Python
Understand the difference between org_authoritative, legacy authoritative, and public_authoritative
In this video, you’ll learn how to enable editing, sync, and data extraction on a hosted feature service in ArcGIS Online using the ArcGIS API for Python. We walk step by step through updating feature service capabilities so users can create, update, delete features, take data offline with Field Maps, and export data to multiple formats.
In this video, you will learn how to:
Use the FeatureLayerCollection manager to update service capabilities
Enable editing (create, update, delete) with Python
Turn on sync for offline workflows
Allow data extraction and exports
Verify capability changes at the service and layer level
In this video, you’ll learn how to enable Editor Tracking on a hosted feature service in ArcGIS Online using the ArcGIS API for Python. Editor tracking automatically *records who created a feature, who last edited it, and when those edits occurred,* making it essential for data governance and auditing.
In this video, you will learn how to:
Enable editor tracking with the FeatureLayerCollection manager
Automatically add system fields (Creator, CreationDate, Editor, EditDate)
Verify editor tracking in ArcGIS Online settings and data views
In this video, you’ll learn how to enable and disable attachments for feature layers and tables in ArcGIS Online using the ArcGIS API for Python. We walk through managing attachments at both the individual layer/table level and across an entire feature service, all through scripting.
In this video, you will learn how to:
Check whether attachments are enabled on layers and tables
Enable attachments for specific feature layers and tables
Enable attachments for all layers and tables at once
Selectively disable attachments for certain layers and tables
Understand the risks of disabling attachments after files have been added
In this video, you’ll learn how to prevent users from deleting features in ArcGIS Online feature services using the ArcGIS API for Python. We walk through removing the delete capability while keeping editing enabled, protecting your data from accidental loss.
In this video, you will see how to:
Understand feature service editing capabilities
Remove delete permissions while keeping create and update
Use the FeatureLayerCollection manager to update service definitions
Apply safer editing workflows for ArcGIS Online feature services
In this video you will learn how to add fields to feature layers and tables in ArcGIS Online using the ArcGIS API for Python. We walk step-by-step through accessing a feature service, inspecting the underlying JSON, and programmatically adding new fields to multiple layers and tables.
In the 10_Fields folder there is a Python script named 10_Jump-in.py if you are revisiting or jumping-in at this point in the course. You can run this script before proceeding with this video.
In this video you will learn how to:
Read existing field definitions from feature layers
Build field templates using JSON
Add text, numeric, and date fields to layers and tables
Use the FeatureLayerManager manager add_to_definition() method
In this video you will learn how to update fields in ArcGIS Online feature layers and tables using the ArcGIS API for Python. We cover how to safely modify existing field definitions, including aliases, text lengths, and default values, using the update_definition() method.
In this video you will learn how to:
Inspect existing field JSON for layers and tables
Update field aliases for cleaner, user-friendly schemas
Change text field lengths
Correctly set default values using full field definitions
Use the FeatureLayerManager update_definition() method
In this video, you will learn how to delete fields from feature layers and tables in ArcGIS Online using the ArcGIS API for Python. We walk through removing unwanted fields safely by using the delete_from_definition() method on both Feature Layers and Tables.
In this video, you will see how to:
Inspect existing field definitions in a feature service
Delete individual fields from a feature layer
Remove multiple fields from a table using list comprehension
Work directly with the underlying JSON schema
Keep your ArcGIS Online data model clean and intentional
Learn how to add coded value and range domains to fields in ArcGIS Online using the ArcGIS API for Python. In this video, you will see how to apply domains to both feature layers and tables by updating field definitions through the FeatureLayerManager update_definition() method.
In this video, you will see how to:
Create and apply coded value domains (text and numeric)
Add range domains to enforce valid numeric input
Update field definitions using update_definition()
Learn how to enforce unique values in ArcGIS Online feature layers and tables by creating a unique index using the ArcGIS API for Python. In this video you will see how to prevent duplicate attribute values by adding a unique index through the FeatureLayerManager add_to_definition() method.
In this video you will learn how to:
Create a unique attribute index for a field
Use add_to_definition() to manage indexes programmatically
Inspect existing indexes in a feature layer
Understand how unique indexes handle null values
With over 7 hours of content (and growing), this course is the first of its kind relating to the ArcGIS API for Python and its capabilities for automating with Feature Services to create, update, maintain, and manage Feature Services, Layers and Tables in ArcGIS Online.
Automating tasks with Esri technology and with ArcGIS Online/Portal is already in high demand and growing! There is a skills and knowledge gap with the utilisation of the ArcGIS API for Python. Fill in that gap and put yourself at the forefront of the demand.
You will get comfortable with the Item Object, the FeatureLayer Collections Object, and FeatureLayer and Table Objects that are essential for automating Feature Service workflows with the ArcGIS API for Python.
Here is a general overview of the content...
Create a Feature Service
The Item Object
The FeatureLayerCollection Object
Adding Layers & Tables
The FeatureLayer & Table Objects
Feature Service Settings
delete protection
content status
enable editing
enable attachments
and more
Adding data to Feature Layers & Tables
Fields
Create
Update
Domains
and more
Relationships
Symbology
Popups
Views
and many more
You will have lifetime access to the course material, as the API evolves, the course structure and lessons will be updated to reflect the changes. Sometimes API changes are minor and sometimes they are major so keeping up with the changes are important.
Your course instructor, Glen Bambrick, has over 18 years' experience with GIS and geospatial data, and has implemented standardized workflows utilizing the ArcGIS API for Python to great affect. In this course he will introduce you to the ArcGIS for Python API for interacting with Feature Service components and take you through some common tasks with a focus on gaining a deep understanding of the underlying JSON definitions associated with a Feature Layer Collection and Item objects amongst other, and the associated methods available for enhancing automation with Feature Services..
By the end of this course... you will be fully armed with the capability to start using the ArcGIS for Python API with your own workflows for accessing and manipulating Feature Service components. This course will spark your imagination to what can be achieved and give you a solid footing to begin making the ArcGIS for Python API a part of your daily endeavors for automating those repetitive tasks relating to ArcGIS Online Featuer Services and beyond. You will be able create a Feature Service and add Feature Layers and Tables. Apply Feature Service Settings. Add data, and configure symbology, popups, attachments, views, and more!